Documentation ¶
Overview ¶
Package kubectl provides a kubectl-like interface for Kubernetes. Functions defined here should not make use of os/exec.
Index ¶
- type Kubectl
- func (k *Kubectl) AddNodeSelectorsToDeployment(ctx context.Context, selectors map[string]string, name string, ...) error
- func (k *Kubectl) AddTolerationsToDeployment(ctx context.Context, tolerations []corev1.Toleration, name string, ...) error
- func (k *Kubectl) AnnotateNode(ctx context.Context, nodeName, annotationKey, annotationValue string) error
- func (k *Kubectl) ApplyCRD(ctx context.Context, rawCRD []byte) error
- func (k *Kubectl) CreateConfigMap(ctx context.Context, configMap corev1.ConfigMap) error
- func (k *Kubectl) EnforceCoreDNSSpread(ctx context.Context) error
- func (k *Kubectl) GetCRDs(ctx context.Context) ([]apiextensionsv1.CustomResourceDefinition, error)
- func (k *Kubectl) GetCRs(ctx context.Context, gvr schema.GroupVersionResource) ([]unstructured.Unstructured, error)
- func (k *Kubectl) GetNodes(ctx context.Context) ([]corev1.Node, error)
- func (k *Kubectl) Initialize(kubeconfig []byte) error
- func (k *Kubectl) ListAllNamespaces(ctx context.Context) (*corev1.NamespaceList, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Kubectl ¶
type Kubectl struct { kubernetes.Interface // contains filtered or unexported fields }
Kubectl implements functionality of the Kubernetes "kubectl" tool.
func New ¶
func New() *Kubectl
New returns an empty Kubectl client. Need to call Initialize before usable.
func (*Kubectl) AddNodeSelectorsToDeployment ¶
func (k *Kubectl) AddNodeSelectorsToDeployment(ctx context.Context, selectors map[string]string, name string, namespace string) error
AddNodeSelectorsToDeployment adds K8s selectors to the deployment, identified by name and namespace.
func (*Kubectl) AddTolerationsToDeployment ¶
func (k *Kubectl) AddTolerationsToDeployment(ctx context.Context, tolerations []corev1.Toleration, name string, namespace string) error
AddTolerationsToDeployment adds K8s tolerations to the deployment, identified by name and namespace.
func (*Kubectl) AnnotateNode ¶
func (k *Kubectl) AnnotateNode(ctx context.Context, nodeName, annotationKey, annotationValue string) error
AnnotateNode adds the provided annotations to the node, identified by name.
func (*Kubectl) ApplyCRD ¶
ApplyCRD updates the given CRD by parsing it, querying it's version from the cluster and finally updating it.
func (*Kubectl) CreateConfigMap ¶
CreateConfigMap creates the provided configmap.
func (*Kubectl) EnforceCoreDNSSpread ¶ added in v2.9.0
EnforceCoreDNSSpread adds a pod anti-affinity to the coredns deployment to ensure that coredns pods are spread across nodes.
func (*Kubectl) GetCRDs ¶
func (k *Kubectl) GetCRDs(ctx context.Context) ([]apiextensionsv1.CustomResourceDefinition, error)
GetCRDs retrieves all custom resource definitions currently installed in the cluster.
func (*Kubectl) GetCRs ¶
func (k *Kubectl) GetCRs(ctx context.Context, gvr schema.GroupVersionResource) ([]unstructured.Unstructured, error)
GetCRs retrieves all objects for a given CRD.
func (*Kubectl) Initialize ¶
Initialize sets sets all required fields so the Kubectl client can be used.
func (*Kubectl) ListAllNamespaces ¶
ListAllNamespaces returns all namespaces in the cluster.