Documentation ¶
Overview ¶
Package k8sapi is used to interact with the Kubernetes API to create or update required resources.
Index ¶
- type Client
- type KubdeadmConfiguration
- type KubeadmInitYAML
- func (k *KubeadmInitYAML) Marshal() ([]byte, error)
- func (k *KubeadmInitYAML) SetCertSANs(certSANs []string)
- func (k *KubeadmInitYAML) SetClusterName(clusterName string)
- func (k *KubeadmInitYAML) SetControlPlaneEndpoint(controlPlaneEndpoint string)
- func (k *KubeadmInitYAML) SetNodeIP(nodeIP string)
- func (k *KubeadmInitYAML) SetNodeName(nodeName string)
- func (k *KubeadmInitYAML) SetProviderID(providerID string)
- func (k *KubeadmInitYAML) SetServiceSubnet(subnet string)
- type KubeadmJoinYAML
- func (k *KubeadmJoinYAML) AppendDiscoveryTokenCaCertHash(discoveryTokenCaCertHash string)
- func (k *KubeadmJoinYAML) Marshal() ([]byte, error)
- func (k *KubeadmJoinYAML) SetAPIServerEndpoint(apiServerEndpoint string)
- func (k *KubeadmJoinYAML) SetControlPlane(advertiseAddress string)
- func (k *KubeadmJoinYAML) SetNodeIP(nodeIP string)
- func (k *KubeadmJoinYAML) SetNodeName(nodeName string)
- func (k *KubeadmJoinYAML) SetProviderID(providerID string)
- func (k *KubeadmJoinYAML) SetToken(token string)
- type KubernetesUtil
- func (k *KubernetesUtil) InitCluster(ctx context.Context, initConfig []byte, nodeName, clusterName string, ...) ([]byte, error)
- func (k *KubernetesUtil) InstallComponents(ctx context.Context, kubernetesComponents components.Components) error
- func (k *KubernetesUtil) JoinCluster(ctx context.Context, joinConfig []byte, log *slog.Logger) error
- func (k *KubernetesUtil) StartKubelet() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface { Initialize(kubeconfig []byte) error CreateConfigMap(ctx context.Context, configMap *corev1.ConfigMap) error AddNodeSelectorsToDeployment(ctx context.Context, selectors map[string]string, name string, namespace string) error ListAllNamespaces(ctx context.Context) (*corev1.NamespaceList, error) AnnotateNode(ctx context.Context, nodeName, annotationKey, annotationValue string) error PatchFirstNodePodCIDR(ctx context.Context, firstNodePodCIDR string) error }
Client provides the functions to talk to the k8s API.
type KubdeadmConfiguration ¶ added in v2.2.0
type KubdeadmConfiguration struct{}
KubdeadmConfiguration is used to generate kubeadm configurations.
func (*KubdeadmConfiguration) InitConfiguration ¶ added in v2.2.0
func (c *KubdeadmConfiguration) InitConfiguration(externalCloudProvider bool, clusterVersion string) KubeadmInitYAML
InitConfiguration returns a new init configuration.
func (*KubdeadmConfiguration) JoinConfiguration ¶ added in v2.2.0
func (c *KubdeadmConfiguration) JoinConfiguration(externalCloudProvider bool) KubeadmJoinYAML
JoinConfiguration returns a new kubeadm join configuration.
type KubeadmInitYAML ¶
type KubeadmInitYAML struct { InitConfiguration kubeadm.InitConfiguration ClusterConfiguration kubeadm.ClusterConfiguration KubeletConfiguration kubeletconf.KubeletConfiguration }
KubeadmInitYAML holds configuration for kubeadm init workflow.
func (*KubeadmInitYAML) Marshal ¶
func (k *KubeadmInitYAML) Marshal() ([]byte, error)
Marshal into a k8s resource YAML.
func (*KubeadmInitYAML) SetCertSANs ¶
func (k *KubeadmInitYAML) SetCertSANs(certSANs []string)
SetCertSANs sets the SANs for the certificate.
func (*KubeadmInitYAML) SetClusterName ¶ added in v2.6.0
func (k *KubeadmInitYAML) SetClusterName(clusterName string)
SetClusterName sets the name of the Kubernetes cluster. This name is reflected in the kubeconfig file and in the name of the default admin user.
func (*KubeadmInitYAML) SetControlPlaneEndpoint ¶
func (k *KubeadmInitYAML) SetControlPlaneEndpoint(controlPlaneEndpoint string)
SetControlPlaneEndpoint sets the control plane endpoint if controlPlaneEndpoint is not empty.
func (*KubeadmInitYAML) SetNodeIP ¶
func (k *KubeadmInitYAML) SetNodeIP(nodeIP string)
SetNodeIP sets the node IP.
func (*KubeadmInitYAML) SetNodeName ¶
func (k *KubeadmInitYAML) SetNodeName(nodeName string)
SetNodeName sets name of node.
func (*KubeadmInitYAML) SetProviderID ¶
func (k *KubeadmInitYAML) SetProviderID(providerID string)
SetProviderID sets the provider ID.
func (*KubeadmInitYAML) SetServiceSubnet ¶ added in v2.14.0
func (k *KubeadmInitYAML) SetServiceSubnet(subnet string)
SetServiceSubnet sets the service subnet.
type KubeadmJoinYAML ¶
type KubeadmJoinYAML struct { JoinConfiguration kubeadm.JoinConfiguration KubeletConfiguration kubeletconf.KubeletConfiguration }
KubeadmJoinYAML holds configuration for kubeadm join workflow.
func (*KubeadmJoinYAML) AppendDiscoveryTokenCaCertHash ¶
func (k *KubeadmJoinYAML) AppendDiscoveryTokenCaCertHash(discoveryTokenCaCertHash string)
AppendDiscoveryTokenCaCertHash appends another trusted discovery token CA hash.
func (*KubeadmJoinYAML) Marshal ¶
func (k *KubeadmJoinYAML) Marshal() ([]byte, error)
Marshal into a k8s resource YAML.
func (*KubeadmJoinYAML) SetAPIServerEndpoint ¶
func (k *KubeadmJoinYAML) SetAPIServerEndpoint(apiServerEndpoint string)
SetAPIServerEndpoint sets the api server endpoint.
func (*KubeadmJoinYAML) SetControlPlane ¶
func (k *KubeadmJoinYAML) SetControlPlane(advertiseAddress string)
SetControlPlane sets the control plane with the advertised address.
func (*KubeadmJoinYAML) SetNodeIP ¶
func (k *KubeadmJoinYAML) SetNodeIP(nodeIP string)
SetNodeIP sets the node IP.
func (*KubeadmJoinYAML) SetNodeName ¶
func (k *KubeadmJoinYAML) SetNodeName(nodeName string)
SetNodeName sets the node name.
func (*KubeadmJoinYAML) SetProviderID ¶
func (k *KubeadmJoinYAML) SetProviderID(providerID string)
SetProviderID sets the provider ID.
func (*KubeadmJoinYAML) SetToken ¶
func (k *KubeadmJoinYAML) SetToken(token string)
SetToken sets the boostrap token.
type KubernetesUtil ¶
type KubernetesUtil struct {
// contains filtered or unexported fields
}
KubernetesUtil provides low level management of the kubernetes cluster.
func NewKubernetesUtil ¶
func NewKubernetesUtil() *KubernetesUtil
NewKubernetesUtil creates a new KubernetesUtil.
func (*KubernetesUtil) InitCluster ¶
func (k *KubernetesUtil) InitCluster( ctx context.Context, initConfig []byte, nodeName, clusterName string, ips []net.IP, conformanceMode bool, log *slog.Logger, ) ([]byte, error)
InitCluster instruments kubeadm to initialize the K8s cluster. On success an admin kubeconfig file is returned.
func (*KubernetesUtil) InstallComponents ¶
func (k *KubernetesUtil) InstallComponents(ctx context.Context, kubernetesComponents components.Components) error
InstallComponents installs the kubernetes components passed from the CLI.
func (*KubernetesUtil) JoinCluster ¶
func (k *KubernetesUtil) JoinCluster(ctx context.Context, joinConfig []byte, log *slog.Logger) error
JoinCluster joins existing Kubernetes cluster using kubeadm join.
func (*KubernetesUtil) StartKubelet ¶
func (k *KubernetesUtil) StartKubelet() error
StartKubelet enables and starts the kubelet systemd unit.