k8sutil

package
v0.60.1 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2022 License: Apache-2.0 Imports: 34 Imported by: 5

Documentation

Index

Constants

View Source
const KubeConfigEnv = "KUBECONFIG"

KubeConfigEnv (optionally) specify the location of kubeconfig file

Variables

This section is empty.

Functions

func AddTypeInformationToObject added in v0.59.0

func AddTypeInformationToObject(obj runtime.Object) error

AddTypeInformationToObject adds TypeMeta information to a runtime.Object based upon the loaded scheme.Scheme See https://github.com/kubernetes/client-go/issues/308#issuecomment-700099260

func CreateOrUpdateEndpoints added in v0.6.0

func CreateOrUpdateEndpoints(ctx context.Context, eclient clientv1.EndpointsInterface, eps *v1.Endpoints) error

func CreateOrUpdateSecret added in v0.48.0

func CreateOrUpdateSecret(ctx context.Context, secretClient clientv1.SecretInterface, desired *v1.Secret) error

CreateOrUpdateSecret merges metadata of existing Secret with new one and updates it.

func CreateOrUpdateService added in v0.6.0

func CreateOrUpdateService(ctx context.Context, sclient clientv1.ServiceInterface, svc *v1.Service) error

func IsAPIGroupVersionResourceSupported added in v0.55.0

func IsAPIGroupVersionResourceSupported(discoveryCli discovery.DiscoveryInterface, groupversion string, resource string) (bool, error)

IsAPIGroupVersionResourceSupported checks if given groupVersion and resource is supported by the cluster.

you can exec `kubectl api-resources` to find groupVersion and resource.

func IsResourceNotFoundError

func IsResourceNotFoundError(err error) bool

func LabelSelectionHasChanged added in v0.48.0

func LabelSelectionHasChanged(old, current map[string]string, selector *metav1.LabelSelector) (bool, error)

LabelSelectionHasChanged returns true if the selector doesn't yield the same results for the old and current labels.

func MergePatchContainers added in v0.42.0

func MergePatchContainers(base, patches []v1.Container) ([]v1.Container, error)

MergePatchContainers adds patches to base using a strategic merge patch and iterating by container name, failing on the first error

func MustRegisterClientGoMetrics added in v0.42.0

func MustRegisterClientGoMetrics(registerer prometheus.Registerer)

MustRegisterClientGoMetrics registers k8s.io/client-go metrics. It panics if it encounters an error (e.g. metrics already registered).

func NewClusterConfig

func NewClusterConfig(host string, tlsInsecure bool, tlsConfig *rest.TLSClientConfig) (*rest.Config, error)

func PodRunningAndReady

func PodRunningAndReady(pod v1.Pod) (bool, error)

PodRunningAndReady returns whether a pod is running and each container has passed it's ready state.

func UpdateStatefulSet added in v0.46.0

func UpdateStatefulSet(ctx context.Context, sstClient clientappsv1.StatefulSetInterface, sset *appsv1.StatefulSet) error

UpdateStatefulSet merges metadata of existing StatefulSet with new one and updates it.

Types

type ResourceNamer added in v0.59.0

type ResourceNamer struct {
	// contains filtered or unexported fields
}

ResourceNamer knows how to generate valid names for various Kubernetes resources.

func NewResourceNamerWithPrefix added in v0.59.0

func NewResourceNamerWithPrefix(p string) ResourceNamer

NewResourceNamerWithPrefix returns a ResourceNamer that adds a prefix followed by an hyphen character to all resource names.

func (ResourceNamer) UniqueVolumeName added in v0.59.0

func (rn ResourceNamer) UniqueVolumeName(name string) (string, error)

UniqueVolumeName returns a volume name that is a valid DNS-1123 label. The returned name has a hash-based suffix to ensure uniqueness in case the input name exceeds the 63-chars limit.

func (ResourceNamer) VolumeName added in v0.59.1

func (rn ResourceNamer) VolumeName(name string) (string, error)

VolumeName returns a volume name that is a valid DNS-1123 label.

Jump to

Keyboard shortcuts

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