kubectl

package
v2.9.1 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2023 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Overview

Package kubectl provides a kubectl-like interface for Kubernetes. Functions defined here should not make use of os/exec.

Index

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

func (k *Kubectl) ApplyCRD(ctx context.Context, rawCRD []byte) error

ApplyCRD updates the given CRD by parsing it, querying it's version from the cluster and finally updating it.

func (*Kubectl) CreateConfigMap

func (k *Kubectl) CreateConfigMap(ctx context.Context, configMap corev1.ConfigMap) error

CreateConfigMap creates the provided configmap.

func (*Kubectl) EnforceCoreDNSSpread added in v2.9.0

func (k *Kubectl) EnforceCoreDNSSpread(ctx context.Context) error

EnforceCoreDNSSpread adds a pod anti-affinity to the coredns deployment to ensure that coredns pods are spread across nodes.

func (*Kubectl) GetCRDs

GetCRDs retrieves all custom resource definitions currently installed in the cluster.

func (*Kubectl) GetCRs

GetCRs retrieves all objects for a given CRD.

func (*Kubectl) GetNodes added in v2.7.0

func (k *Kubectl) GetNodes(ctx context.Context) ([]corev1.Node, error)

GetNodes returns all nodes in the cluster.

func (*Kubectl) Initialize

func (k *Kubectl) Initialize(kubeconfig []byte) error

Initialize sets sets all required fields so the Kubectl client can be used.

func (*Kubectl) ListAllNamespaces

func (k *Kubectl) ListAllNamespaces(ctx context.Context) (*corev1.NamespaceList, error)

ListAllNamespaces returns all namespaces in the cluster.

Jump to

Keyboard shortcuts

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