k8s

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 16, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package k8s provides utility functions for working with Kubernetes clusters.

Package k8s provides utility functions for working with Kubernetes pods.

Index

Constants

This section is empty.

Variables

Clientset is a global variable that holds a kubernetes clientset.

View Source
var Namespace = "default"

Namespace is the current namespace in use by the Kubernetes client.

Functions

func DeletePersistentVolumeClaim

func DeletePersistentVolumeClaim(namespace, name string)

DeletePersistentVolumeClaim deletes a PersistentVolumeClaim if it exists.

func DeletePod

func DeletePod(namespace, name string) error

DeletePod deletes a pod with the given name in the specified namespace.

func DeleteService

func DeleteService(namespace, name string) error

DeleteService deletes a service if it exists.

func DeployPersistentVolumeClaim

func DeployPersistentVolumeClaim(namespace, name string, labels map[string]string, size resource.Quantity, accessModes []string)

DeployPersistentVolumeClaim deploys a PersistentVolumeClaim if it does not exist.

func DeployPod

func DeployPod(podConfig PodConfig, init bool) (*v1.Pod, error)

DeployPod creates a new pod in the given namespace if it doesn't already exist.

func DeployService

func DeployService(namespace, name string, labels, selectorMap map[string]string, portsTCP, portsUDP []int) (*v1.Service, error)

DeployService deploys a service if it does not exist.

func GetCurrentNamespace

func GetCurrentNamespace() string

GetCurrentNamespace returns the current namespace in use.

func GetService

func GetService(namespace, name string) (*v1.Service, error)

GetService retrieves a service.

func GetServiceIP

func GetServiceIP(namespace, name string) (string, error)

GetServiceIP retrieves the IP address of a service.

func Initialize

func Initialize()

Initialize sets up the Kubernetes client with the appropriate configuration.

func PatchService

func PatchService(namespace, name string, labels, selectorMap map[string]string, portsTCP, portsUDP []int) error

PatchService patches an existing service.

func PersistentVolumeClaimExists

func PersistentVolumeClaimExists(namespace, name string) bool

PersistentVolumeClaimExists checks if a PersistentVolumeClaim exists.

func ReplacePod

func ReplacePod(podConfig PodConfig) (*v1.Pod, error)

ReplacePod replaces a pod in the given namespace and returns the new Pod object.

func RunCommandInPod

func RunCommandInPod(namespace, podName, containerName string, cmd []string) (string, error)

RunCommandInPod runs a command in a container within a pod.

func WaitPodIsRunning

func WaitPodIsRunning(namespace, name string) error

WaitPodIsRunning waits until a pod in the given namespace is running.

Types

type PodConfig

type PodConfig struct {
	Namespace string            // Kubernetes namespace of the Pod
	Name      string            // Name to assign to the Pod
	Labels    map[string]string // Labels to apply to the Pod
	Image     string            // Name of the Docker image to use for the container
	Command   []string          // Command to run in the container
	Args      []string          // Arguments to pass to the command in the container
	Env       map[string]string // Environment variables to set in the container
	Volumes   map[string]string // Volumes to mount in the Pod
}

PodConfig contains the specifications for creating a new Pod object

Jump to

Keyboard shortcuts

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