kubeadm

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package kubeadm contains kubeadm related constants and configuration

Index

Constants

View Source
const ConfigTemplateBetaV2 = `` /* 4200-byte string literal not displayed */

ConfigTemplateBetaV2 is the kubeadm config template for API version v1beta2

View Source
const ConfigTemplateBetaV3 = `` /* 4288-byte string literal not displayed */

ConfigTemplateBetaV3 is the kubeadm config template for API version v1beta3

View Source
const ObjectName = "config"

ObjectName is the name every generated object will have I.E. `metadata:\nname: config`

View Source
const Token = "abcdef.0123456789abcdef"

Token defines a dummy, well known token for automating TLS bootstrap process

Variables

This section is empty.

Functions

func Config

func Config(data ConfigData) (config string, err error)

Config returns a kubeadm config generated from config data, in particular the kubernetes version

Types

type ConfigData

type ConfigData struct {
	ClusterName       string
	KubernetesVersion string
	// The ControlPlaneEndpoint, that is the address of the external loadbalancer
	// if defined or the bootstrap node
	ControlPlaneEndpoint string
	// The Local API Server port
	APIBindPort int
	// The API server external listen IP (which we will port forward)
	APIServerAddress string

	// this should really be used for the --provider-id flag
	// ideally cluster config should not depend on the node backend otherwise ...
	NodeProvider string

	// ControlPlane flag specifies the node belongs to the control plane
	ControlPlane bool
	// The IP address or comma separated list IP addresses of of the node
	NodeAddress string
	// The name for the node (not the address)
	NodeName string

	// The Token for TLS bootstrap
	Token string

	// KubeProxyMode defines the kube-proxy mode between iptables or ipvs
	KubeProxyMode string
	// The subnet used for pods
	PodSubnet string
	// The subnet used for services
	ServiceSubnet string

	// Kubernetes FeatureGates
	FeatureGates map[string]bool

	// Kubernetes API Server RuntimeConfig
	RuntimeConfig map[string]string

	// IPFamily of the cluster, it can be IPv4, IPv6 or DualStack
	IPFamily config.ClusterIPFamily

	// Labels are the labels, in the format "key1=val1,key2=val2", with which the respective node will be labeled
	NodeLabels string

	// RootlessProvider is true if kind is running with rootless mode
	RootlessProvider bool

	// DisableLocalStorageCapacityIsolation is typically set true based on RootlessProvider
	// based on the Kubernetes version, if true kubelet localStorageCapacityIsolation is set false
	DisableLocalStorageCapacityIsolation bool

	// DerivedConfigData contains fields computed from the other fields for use
	// in the config templates and should only be populated by calling Derive()
	DerivedConfigData
}

ConfigData is supplied to the kubeadm config template, with values populated by the cluster package

func (*ConfigData) Derive

func (c *ConfigData) Derive()

Derive automatically derives DockerStableTag if not specified

type DerivedConfigData

type DerivedConfigData struct {
	// AdvertiseAddress is the first address in NodeAddress
	AdvertiseAddress string
	// DockerStableTag is automatically derived from KubernetesVersion
	DockerStableTag string
	// SortedFeatureGates allows us to iterate FeatureGates deterministically
	SortedFeatureGates []FeatureGate
	// FeatureGatesString is of the form `Foo=true,Baz=false`
	FeatureGatesString string
	// RuntimeConfigString is of the form `Foo=true,Baz=false`
	RuntimeConfigString string
	// KubeadmFeatureGates contains Kubeadm only feature gates
	KubeadmFeatureGates map[string]bool
	// IPv4 values take precedence over IPv6 by default, if true set IPv6 default values
	IPv6 bool
	// kubelet cgroup driver, based on kubernetes version
	CgroupDriver string
}

DerivedConfigData fields are automatically derived by ConfigData.Derive if they are not specified / zero valued

type FeatureGate added in v0.17.0

type FeatureGate struct {
	Name  string
	Value bool
}

Jump to

Keyboard shortcuts

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