helpers

package
v0.30.0-rc.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2024 License: Apache-2.0 Imports: 17 Imported by: 46

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddOrUpdateLabelsOnNode added in v0.17.0

func AddOrUpdateLabelsOnNode(kubeClient clientset.Interface, labelsToUpdate map[string]string, node *v1.Node) bool

AddOrUpdateLabelsOnNode updates the labels on the node and returns true on success and false on failure.

func AddOrUpdateTaintOnNode

func AddOrUpdateTaintOnNode(c clientset.Interface, nodeName string, taints ...*v1.Taint) error

AddOrUpdateTaintOnNode add taints to the node. If taint was added into node, it'll issue API calls to update nodes; otherwise, no API calls. Return error if any.

func AddToNodeAddresses

func AddToNodeAddresses(addresses *[]v1.NodeAddress, addAddresses ...v1.NodeAddress)

AddToNodeAddresses appends the NodeAddresses to the passed-by-pointer slice, only if they do not already exist

func GetNodeAddressesFromNodeIP added in v0.27.0

func GetNodeAddressesFromNodeIP(providedNodeIP string, cloudNodeAddresses []v1.NodeAddress) ([]v1.NodeAddress, error)

GetNodeAddressesFromNodeIP filters the provided list of nodeAddresses to match the providedNodeIP from the Node annotation (which is assumed to be non-empty). This is used for external cloud providers.

It will return node addresses filtered such that:

  • Any address matching nodeIP will be listed first.
  • If nodeIP matches an address of a particular type (internal or external), that will be the *only* address of that type returned.
  • All remaining addresses are listed after.

(This does not have the same behavior with `0.0.0.0` and `::` as GetNodeAddressesFromNodeIPLegacy, because that case never occurs for external cloud providers, because kubelet does not set the `provided-node-ip` annotation in that case.)

func GetNodeAddressesFromNodeIPLegacy added in v0.27.0

func GetNodeAddressesFromNodeIPLegacy(nodeIP net.IP, cloudNodeAddresses []v1.NodeAddress) ([]v1.NodeAddress, error)

GetNodeAddressesFromNodeIPLegacy filters node addresses to prefer a specific node IP or address family. This function is used only with legacy cloud providers.

If nodeIP is either '0.0.0.0' or '::' it is taken to represent any address of that address family: IPv4 or IPv6. i.e. if nodeIP is '0.0.0.0' we will return node addresses sorted such that all IPv4 addresses are listed before IPv6 addresses.

If nodeIP is a specific IP, either IPv4 or IPv6, we will return node addresses filtered such that:

  • Any address matching nodeIP will be listed first.
  • If nodeIP matches an address of a particular type (internal or external), that will be the *only* address of that type returned.
  • All remaining addresses are listed after.

func PatchNodeTaints

func PatchNodeTaints(c clientset.Interface, nodeName string, oldNode *v1.Node, newNode *v1.Node) error

PatchNodeTaints patches node's taints.

func RemoveTaintOffNode added in v0.19.0

func RemoveTaintOffNode(c clientset.Interface, nodeName string, node *v1.Node, taints ...*v1.Taint) error

RemoveTaintOffNode is for cleaning up taints temporarily added to node, won't fail if target taint doesn't exist or has been removed. If passed a node it'll check if there's anything to be done, if taint is not present it won't issue any API calls.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL