...

Package config

import "k8s.io/kubernetes/cmd/kubeadm/app/util/config"
Overview
Index
Subdirectories

Overview ▾

Package config contains utilities for managing the kubeadm configuration API.

Index ▾

Variables
func BytesToInitConfiguration(b []byte, skipCRIDetect bool) (*kubeadmapi.InitConfiguration, error)
func ChooseAPIServerBindAddress(bindAddress net.IP) (net.IP, error)
func DefaultedInitConfiguration(versionedInitCfg *kubeadmapiv1.InitConfiguration, versionedClusterCfg *kubeadmapiv1.ClusterConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.InitConfiguration, error)
func DefaultedJoinConfiguration(defaultversionedcfg *kubeadmapiv1.JoinConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.JoinConfiguration, error)
func DefaultedResetConfiguration(defaultversionedcfg *kubeadmapiv1.ResetConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.ResetConfiguration, error)
func DefaultedStaticInitConfiguration() (*kubeadmapi.InitConfiguration, error)
func DefaultedUpgradeConfiguration(defaultversionedcfg *kubeadmapiv1.UpgradeConfiguration, _ LoadOrDefaultConfigurationOptions) (*kubeadmapi.UpgradeConfiguration, error)
func DocMapToUpgradeConfiguration(gvkmap kubeadmapi.DocumentMap) (*kubeadmapi.UpgradeConfiguration, error)
func FetchInitConfigurationFromCluster(client clientset.Interface, printer output.Printer, logPrefix string, newControlPlane, skipComponentConfigs bool) (*kubeadmapi.InitConfiguration, error)
func GetNodeRegistration(kubeconfigFile string, client clientset.Interface, nodeRegistration *kubeadmapi.NodeRegistrationOptions) error
func LoadInitConfigurationFromFile(cfgPath string, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.InitConfiguration, error)
func LoadJoinConfigurationFromFile(cfgPath string, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.JoinConfiguration, error)
func LoadOrDefaultInitConfiguration(cfgPath string, versionedInitCfg *kubeadmapiv1.InitConfiguration, versionedClusterCfg *kubeadmapiv1.ClusterConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.InitConfiguration, error)
func LoadOrDefaultJoinConfiguration(cfgPath string, defaultversionedcfg *kubeadmapiv1.JoinConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.JoinConfiguration, error)
func LoadOrDefaultResetConfiguration(cfgPath string, defaultversionedcfg *kubeadmapiv1.ResetConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.ResetConfiguration, error)
func LoadOrDefaultUpgradeConfiguration(cfgPath string, defaultversionedcfg *kubeadmapiv1.UpgradeConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.UpgradeConfiguration, error)
func LoadResetConfigurationFromFile(cfgPath string, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.ResetConfiguration, error)
func LoadUpgradeConfigurationFromFile(cfgPath string, _ LoadOrDefaultConfigurationOptions) (*kubeadmapi.UpgradeConfiguration, error)
func LowercaseSANs(sans []string)
func MarshalInitConfigurationToBytes(cfg *kubeadmapi.InitConfiguration, gv schema.GroupVersion) ([]byte, error)
func MarshalKubeadmConfigObject(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)
func MigrateOldConfig(oldConfig []byte, allowExperimental bool, mutators migrateMutators) ([]byte, error)
func NormalizeKubernetesVersion(cfg *kubeadmapi.ClusterConfiguration) error
func SetAPIEndpointDynamicDefaults(cfg *kubeadmapi.APIEndpoint) error
func SetBootstrapTokensDynamicDefaults(cfg *[]bootstraptokenv1.BootstrapToken) error
func SetClusterDynamicDefaults(cfg *kubeadmapi.ClusterConfiguration, localAPIEndpoint *kubeadmapi.APIEndpoint, nodeRegOpts *kubeadmapi.NodeRegistrationOptions) error
func SetInitDynamicDefaults(cfg *kubeadmapi.InitConfiguration, skipCRIDetect bool) error
func SetJoinControlPlaneDefaults(cfg *kubeadmapi.JoinControlPlane) error
func SetJoinDynamicDefaults(cfg *kubeadmapi.JoinConfiguration, skipCRIDetect bool) error
func SetNodeRegistrationDynamicDefaults(cfg *kubeadmapi.NodeRegistrationOptions, controlPlaneTaint, skipCRIDetect bool) error
func SetResetDynamicDefaults(cfg *kubeadmapi.ResetConfiguration, skipCRIDetect bool) error
func ValidateConfig(config []byte, allowExperimental bool) error
func VerifyAPIServerBindAddress(address string) error
type LoadOrDefaultConfigurationOptions

Package files

cluster.go common.go initconfiguration.go joinconfiguration.go resetconfiguration.go upgradeconfiguration.go

Variables

var (
    // PlaceholderToken is only set statically to make kubeadm not randomize the token on every run
    PlaceholderToken = bootstraptokenv1.BootstrapToken{
        Token: &bootstraptokenv1.BootstrapTokenString{
            ID:     "abcdef",
            Secret: "0123456789abcdef",
        },
    }
)

func BytesToInitConfiguration

func BytesToInitConfiguration(b []byte, skipCRIDetect bool) (*kubeadmapi.InitConfiguration, error)

BytesToInitConfiguration converts a byte slice to an internal, defaulted and validated InitConfiguration object. The map may contain many different YAML documents. These YAML documents are parsed one-by-one and well-known ComponentConfig GroupVersionKinds are stored inside of the internal InitConfiguration struct. The resulting InitConfiguration is then dynamically defaulted and validated prior to return.

func ChooseAPIServerBindAddress

func ChooseAPIServerBindAddress(bindAddress net.IP) (net.IP, error)

ChooseAPIServerBindAddress is a wrapper for netutil.ResolveBindAddress that also handles the case where no default routes were found and an IP for the API server could not be obtained.

func DefaultedInitConfiguration

func DefaultedInitConfiguration(versionedInitCfg *kubeadmapiv1.InitConfiguration, versionedClusterCfg *kubeadmapiv1.ClusterConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.InitConfiguration, error)

DefaultedInitConfiguration takes a versioned init config (often populated by flags), defaults it and converts it into internal InitConfiguration

func DefaultedJoinConfiguration

func DefaultedJoinConfiguration(defaultversionedcfg *kubeadmapiv1.JoinConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.JoinConfiguration, error)

DefaultedJoinConfiguration takes a versioned JoinConfiguration (usually filled in by command line parameters), defaults it, converts it to internal and validates it

func DefaultedResetConfiguration

func DefaultedResetConfiguration(defaultversionedcfg *kubeadmapiv1.ResetConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.ResetConfiguration, error)

DefaultedResetConfiguration takes a versioned ResetConfiguration (usually filled in by command line parameters), defaults it, converts it to internal and validates it

func DefaultedStaticInitConfiguration

func DefaultedStaticInitConfiguration() (*kubeadmapi.InitConfiguration, error)

DefaultedStaticInitConfiguration returns the internal InitConfiguration with static defaults.

func DefaultedUpgradeConfiguration

func DefaultedUpgradeConfiguration(defaultversionedcfg *kubeadmapiv1.UpgradeConfiguration, _ LoadOrDefaultConfigurationOptions) (*kubeadmapi.UpgradeConfiguration, error)

DefaultedUpgradeConfiguration takes a versioned UpgradeConfiguration (usually filled in by command line parameters), defaults it, converts it to internal and validates it

func DocMapToUpgradeConfiguration

func DocMapToUpgradeConfiguration(gvkmap kubeadmapi.DocumentMap) (*kubeadmapi.UpgradeConfiguration, error)

DocMapToUpgradeConfiguration converts documentMap to an internal, defaulted and validated UpgradeConfiguration object. The map may contain many different YAML documents. These YAML documents are parsed one-by-one and well-known ComponentConfig GroupVersionKinds are stored inside of the internal UpgradeConfiguration struct. The resulting UpgradeConfiguration is then dynamically defaulted and validated prior to return.

func FetchInitConfigurationFromCluster

func FetchInitConfigurationFromCluster(client clientset.Interface, printer output.Printer, logPrefix string, newControlPlane, skipComponentConfigs bool) (*kubeadmapi.InitConfiguration, error)

FetchInitConfigurationFromCluster fetches configuration from a ConfigMap in the cluster

func GetNodeRegistration

func GetNodeRegistration(kubeconfigFile string, client clientset.Interface, nodeRegistration *kubeadmapi.NodeRegistrationOptions) error

GetNodeRegistration returns the nodeRegistration for the current node

func LoadInitConfigurationFromFile

func LoadInitConfigurationFromFile(cfgPath string, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.InitConfiguration, error)

LoadInitConfigurationFromFile loads a supported versioned InitConfiguration from a file, converts it into internal config, defaults it and verifies it.

func LoadJoinConfigurationFromFile

func LoadJoinConfigurationFromFile(cfgPath string, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.JoinConfiguration, error)

LoadJoinConfigurationFromFile loads versioned JoinConfiguration from file, converts it to internal, defaults and validates it

func LoadOrDefaultInitConfiguration

func LoadOrDefaultInitConfiguration(cfgPath string, versionedInitCfg *kubeadmapiv1.InitConfiguration, versionedClusterCfg *kubeadmapiv1.ClusterConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.InitConfiguration, error)

LoadOrDefaultInitConfiguration takes a path to a config file and a versioned configuration that can serve as the default config If cfgPath is specified, the versioned configs will always get overridden with the one in the file (specified by cfgPath). The external, versioned configuration is defaulted and converted to the internal type. Right thereafter, the configuration is defaulted again with dynamic values (like IP addresses of a machine, etc) Lastly, the internal config is validated and returned.

func LoadOrDefaultJoinConfiguration

func LoadOrDefaultJoinConfiguration(cfgPath string, defaultversionedcfg *kubeadmapiv1.JoinConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.JoinConfiguration, error)

LoadOrDefaultJoinConfiguration takes a path to a config file and a versioned configuration that can serve as the default config If cfgPath is specified, defaultversionedcfg will always get overridden. Otherwise, the default config (often populated by flags) will be used. Then the external, versioned configuration is defaulted and converted to the internal type. Right thereafter, the configuration is defaulted again with dynamic values (like IP addresses of a machine, etc) Lastly, the internal config is validated and returned.

func LoadOrDefaultResetConfiguration

func LoadOrDefaultResetConfiguration(cfgPath string, defaultversionedcfg *kubeadmapiv1.ResetConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.ResetConfiguration, error)

LoadOrDefaultResetConfiguration takes a path to a config file and a versioned configuration that can serve as the default config If cfgPath is specified, defaultversionedcfg will always get overridden. Otherwise, the default config (often populated by flags) will be used. Then the external, versioned configuration is defaulted and converted to the internal type. Right thereafter, the configuration is defaulted again with dynamic values Lastly, the internal config is validated and returned.

func LoadOrDefaultUpgradeConfiguration

func LoadOrDefaultUpgradeConfiguration(cfgPath string, defaultversionedcfg *kubeadmapiv1.UpgradeConfiguration, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.UpgradeConfiguration, error)

LoadOrDefaultUpgradeConfiguration takes a path to a config file and a versioned configuration that can serve as the default config If cfgPath is specified, defaultversionedcfg will always get overridden. Otherwise, the default config (often populated by flags) will be used. Then the external, versioned configuration is defaulted and converted to the internal type. Right thereafter, the configuration is defaulted again with dynamic values Lastly, the internal config is validated and returned.

func LoadResetConfigurationFromFile

func LoadResetConfigurationFromFile(cfgPath string, opts LoadOrDefaultConfigurationOptions) (*kubeadmapi.ResetConfiguration, error)

LoadResetConfigurationFromFile loads versioned ResetConfiguration from file, converts it to internal, defaults and validates it

func LoadUpgradeConfigurationFromFile

func LoadUpgradeConfigurationFromFile(cfgPath string, _ LoadOrDefaultConfigurationOptions) (*kubeadmapi.UpgradeConfiguration, error)

LoadUpgradeConfigurationFromFile loads UpgradeConfiguration from a file.

func LowercaseSANs

func LowercaseSANs(sans []string)

LowercaseSANs can be used to force all SANs to be lowercase so it passes IsDNS1123Subdomain

func MarshalInitConfigurationToBytes

func MarshalInitConfigurationToBytes(cfg *kubeadmapi.InitConfiguration, gv schema.GroupVersion) ([]byte, error)

MarshalInitConfigurationToBytes marshals the internal InitConfiguration object to bytes. It writes the embedded ClusterConfiguration object with ComponentConfigs out as separate YAML documents

func MarshalKubeadmConfigObject

func MarshalKubeadmConfigObject(obj runtime.Object, gv schema.GroupVersion) ([]byte, error)

MarshalKubeadmConfigObject marshals an Object registered in the kubeadm scheme. If the object is a InitConfiguration or ClusterConfiguration, some extra logic is run

func MigrateOldConfig

func MigrateOldConfig(oldConfig []byte, allowExperimental bool, mutators migrateMutators) ([]byte, error)

MigrateOldConfig migrates an old configuration from a byte slice into a new one (returned again as a byte slice). Only kubeadm kinds are migrated.

func NormalizeKubernetesVersion

func NormalizeKubernetesVersion(cfg *kubeadmapi.ClusterConfiguration) error

NormalizeKubernetesVersion resolves version labels, sets alternative image registry if requested for CI builds, and validates minimal version that kubeadm SetInitDynamicDefaultssupports.

func SetAPIEndpointDynamicDefaults

func SetAPIEndpointDynamicDefaults(cfg *kubeadmapi.APIEndpoint) error

SetAPIEndpointDynamicDefaults checks and sets configuration values for the APIEndpoint object

func SetBootstrapTokensDynamicDefaults

func SetBootstrapTokensDynamicDefaults(cfg *[]bootstraptokenv1.BootstrapToken) error

SetBootstrapTokensDynamicDefaults checks and sets configuration values for the BootstrapTokens object

func SetClusterDynamicDefaults

func SetClusterDynamicDefaults(cfg *kubeadmapi.ClusterConfiguration, localAPIEndpoint *kubeadmapi.APIEndpoint, nodeRegOpts *kubeadmapi.NodeRegistrationOptions) error

SetClusterDynamicDefaults checks and sets values for the ClusterConfiguration object

func SetInitDynamicDefaults

func SetInitDynamicDefaults(cfg *kubeadmapi.InitConfiguration, skipCRIDetect bool) error

SetInitDynamicDefaults checks and sets configuration values for the InitConfiguration object

func SetJoinControlPlaneDefaults

func SetJoinControlPlaneDefaults(cfg *kubeadmapi.JoinControlPlane) error

SetJoinControlPlaneDefaults checks and sets configuration values for the JoinControlPlane object

func SetJoinDynamicDefaults

func SetJoinDynamicDefaults(cfg *kubeadmapi.JoinConfiguration, skipCRIDetect bool) error

SetJoinDynamicDefaults checks and sets configuration values for the JoinConfiguration object

func SetNodeRegistrationDynamicDefaults

func SetNodeRegistrationDynamicDefaults(cfg *kubeadmapi.NodeRegistrationOptions, controlPlaneTaint, skipCRIDetect bool) error

SetNodeRegistrationDynamicDefaults checks and sets configuration values for the NodeRegistration object

func SetResetDynamicDefaults

func SetResetDynamicDefaults(cfg *kubeadmapi.ResetConfiguration, skipCRIDetect bool) error

SetResetDynamicDefaults checks and sets configuration values for the ResetConfiguration object

func ValidateConfig

func ValidateConfig(config []byte, allowExperimental bool) error

ValidateConfig takes a byte slice containing a kubeadm configuration and performs conversion to internal types and validation.

func VerifyAPIServerBindAddress

func VerifyAPIServerBindAddress(address string) error

VerifyAPIServerBindAddress can be used to verify if a bind address for the API Server is 0.0.0.0, in which case this address is not valid and should not be used.

type LoadOrDefaultConfigurationOptions

LoadOrDefaultConfigurationOptions holds the common LoadOrDefaultConfiguration options.

type LoadOrDefaultConfigurationOptions struct {
    // AllowExperimental indicates whether the experimental / work in progress APIs can be used.
    AllowExperimental bool
    // SkipCRIDetect indicates whether to skip the CRI socket detection when no CRI socket is provided.
    SkipCRIDetect bool
}

Subdirectories

Name Synopsis
..
strict