preflight

package
v1.30.0 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2024 License: Apache-2.0 Imports: 33 Imported by: 85

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetKubeletVersion added in v1.9.0

func GetKubeletVersion(execer utilsexec.Interface) (*version.Version, error)

GetKubeletVersion is helper function that returns version of kubelet available in $PATH

func RunChecks added in v1.6.0

func RunChecks(checks []Checker, ww io.Writer, ignorePreflightErrors sets.Set[string]) error

RunChecks runs each check, displays its warnings/errors, and once all are processed will exit if any errors occurred.

func RunInitNodeChecks added in v1.14.0

func RunInitNodeChecks(execer utilsexec.Interface, cfg *kubeadmapi.InitConfiguration, ignorePreflightErrors sets.Set[string], isSecondaryControlPlane bool, downloadCerts bool) error

RunInitNodeChecks executes all individual, applicable to control-plane node checks. The boolean flag 'isSecondaryControlPlane' controls whether we are running checks in a --join-control-plane scenario. The boolean flag 'downloadCerts' controls whether we should skip checks on certificates because we are downloading them. If the flag is set to true we should skip checks already executed by RunJoinNodeChecks.

func RunJoinNodeChecks

func RunJoinNodeChecks(execer utilsexec.Interface, cfg *kubeadmapi.JoinConfiguration, ignorePreflightErrors sets.Set[string]) error

RunJoinNodeChecks executes all individual, applicable to node checks.

func RunPullImagesCheck added in v1.11.0

func RunPullImagesCheck(execer utilsexec.Interface, cfg *kubeadmapi.InitConfiguration, ignorePreflightErrors sets.Set[string]) error

RunPullImagesCheck will pull images kubeadm needs if they are not found on the system

func RunRootCheckOnly added in v1.6.0

func RunRootCheckOnly(ignorePreflightErrors sets.Set[string]) error

RunRootCheckOnly initializes checks slice of structs and call RunChecks

Types

type Checker added in v1.6.0

type Checker interface {
	Check() (warnings, errorList []error)
	Name() string
}

Checker validates the state of the system to ensure kubeadm will be successful as often as possible.

func InitNodeChecks added in v1.27.0

func InitNodeChecks(execer utilsexec.Interface, cfg *kubeadmapi.InitConfiguration, ignorePreflightErrors sets.Set[string], isSecondaryControlPlane bool, downloadCerts bool) ([]Checker, error)

InitNodeChecks returns checks specific to "kubeadm init"

func JoinNodeChecks added in v1.27.0

func JoinNodeChecks(execer utilsexec.Interface, cfg *kubeadmapi.JoinConfiguration, ignorePreflightErrors sets.Set[string]) ([]Checker, error)

JoinNodeChecks returns checks specific to "kubeadm join"

type ContainerRuntimeCheck added in v1.12.0

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

ContainerRuntimeCheck verifies the container runtime.

func (ContainerRuntimeCheck) Check added in v1.12.0

func (crc ContainerRuntimeCheck) Check() (warnings, errorList []error)

Check validates the container runtime

func (ContainerRuntimeCheck) Name added in v1.12.0

Name returns label for RuntimeCheck.

type DirAvailableCheck

type DirAvailableCheck struct {
	Path  string
	Label string
}

DirAvailableCheck checks if the given directory either does not exist, or is empty.

func (DirAvailableCheck) Check

func (dac DirAvailableCheck) Check() (warnings, errorList []error)

Check validates if a directory does not exist or empty.

func (DirAvailableCheck) Name added in v1.9.0

func (dac DirAvailableCheck) Name() string

Name returns label for individual DirAvailableChecks. If not known, will return based on path.

type Error added in v1.6.0

type Error struct {
	Msg string
}

Error defines struct for communicating error messages generated by preflight checks

func (*Error) Error added in v1.6.0

func (e *Error) Error() string

Error implements the standard error interface

func (*Error) Preflight added in v1.11.0

func (e *Error) Preflight() bool

Preflight identifies this error as a preflight error

type ExternalEtcdVersionCheck added in v1.6.0

type ExternalEtcdVersionCheck struct {
	Etcd kubeadmapi.Etcd
}

ExternalEtcdVersionCheck checks if version of external etcd meets the demand of kubeadm

func (ExternalEtcdVersionCheck) Check added in v1.6.0

func (evc ExternalEtcdVersionCheck) Check() (warnings, errorList []error)

Check validates external etcd version TODO: Use the official etcd Golang client for this instead?

func (ExternalEtcdVersionCheck) Name added in v1.9.0

Name will return ExternalEtcdVersion as name for ExternalEtcdVersionCheck

type FileAvailableCheck

type FileAvailableCheck struct {
	Path  string
	Label string
}

FileAvailableCheck checks that the given file does not already exist.

func (FileAvailableCheck) Check

func (fac FileAvailableCheck) Check() (warnings, errorList []error)

Check validates if the given file does not already exist.

func (FileAvailableCheck) Name added in v1.9.0

func (fac FileAvailableCheck) Name() string

Name returns label for individual FileAvailableChecks. If not known, will return based on path.

type FileContentCheck added in v1.6.0

type FileContentCheck struct {
	Path    string
	Content []byte
	Label   string
}

FileContentCheck checks that the given file contains the string Content.

func (FileContentCheck) Check added in v1.6.0

func (fcc FileContentCheck) Check() (warnings, errorList []error)

Check validates if the given file contains the given content.

func (FileContentCheck) Name added in v1.9.0

func (fcc FileContentCheck) Name() string

Name returns label for individual FileContentChecks. If not known, will return based on path.

type FileExistingCheck added in v1.6.0

type FileExistingCheck struct {
	Path  string
	Label string
}

FileExistingCheck checks that the given file does not already exist.

func (FileExistingCheck) Check added in v1.6.0

func (fac FileExistingCheck) Check() (warnings, errorList []error)

Check validates if the given file already exists.

func (FileExistingCheck) Name added in v1.9.0

func (fac FileExistingCheck) Name() string

Name returns label for individual FileExistingChecks. If not known, will return based on path.

type FirewalldCheck added in v1.6.0

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

FirewalldCheck checks if firewalld is enabled or active. If it is, warn the user that there may be problems if no actions are taken.

func (FirewalldCheck) Check added in v1.6.0

func (fc FirewalldCheck) Check() (warnings, errorList []error)

Check validates if the firewall is enabled and active.

func (FirewalldCheck) Name added in v1.9.0

func (FirewalldCheck) Name() string

Name returns label for FirewalldCheck.

type HTTPProxyCIDRCheck added in v1.9.0

type HTTPProxyCIDRCheck struct {
	Proto string
	CIDR  string
}

HTTPProxyCIDRCheck checks if https connection to specific subnet is going to be done directly or over proxy. If proxy detected, it will return warning. Similar to HTTPProxyCheck above, but operates with subnets and uses API machinery transport defaults to simulate kube-apiserver accessing cluster services and pods.

func (HTTPProxyCIDRCheck) Check added in v1.9.0

func (subnet HTTPProxyCIDRCheck) Check() (warnings, errorList []error)

Check validates http connectivity to first IP address in the CIDR. If it is not directly connected and goes via proxy it will produce warning.

func (HTTPProxyCIDRCheck) Name added in v1.9.0

func (HTTPProxyCIDRCheck) Name() string

Name will return HTTPProxyCIDR as name for HTTPProxyCIDRCheck

type HTTPProxyCheck added in v1.6.0

type HTTPProxyCheck struct {
	Proto string
	Host  string
}

HTTPProxyCheck checks if https connection to specific host is going to be done directly or over proxy. If proxy detected, it will return warning.

func (HTTPProxyCheck) Check added in v1.6.0

func (hst HTTPProxyCheck) Check() (warnings, errorList []error)

Check validates http connectivity type, direct or via proxy.

func (HTTPProxyCheck) Name added in v1.9.0

func (hst HTTPProxyCheck) Name() string

Name returns HTTPProxy as name for HTTPProxyCheck

type HostnameCheck

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

HostnameCheck checks if hostname match dns subdomain regex. If hostname doesn't match this regex, kubelet will not launch static pods like kube-apiserver/kube-controller-manager and so on.

func (HostnameCheck) Check

func (hc HostnameCheck) Check() (warnings, errorList []error)

Check validates if hostname match dns subdomain regex. Check hostname length and format

func (HostnameCheck) Name added in v1.9.0

func (HostnameCheck) Name() string

Name will return Hostname as name for HostnameCheck

type ImagePullCheck added in v1.11.0

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

ImagePullCheck will pull container images used by kubeadm

func (ImagePullCheck) Check added in v1.11.0

func (ipc ImagePullCheck) Check() (warnings, errorList []error)

Check pulls images required by kubeadm. This is a mutating check

func (ImagePullCheck) Name added in v1.11.0

func (ImagePullCheck) Name() string

Name returns the label for ImagePullCheck

type InPathCheck

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

InPathCheck checks if the given executable is present in $PATH

func (InPathCheck) Check

func (ipc InPathCheck) Check() (warnings, errs []error)

Check validates if the given executable is present in the path.

func (InPathCheck) Name added in v1.9.0

func (ipc InPathCheck) Name() string

Name returns label for individual InPathCheck. If not known, will return based on path.

type IsPrivilegedUserCheck added in v1.9.0

type IsPrivilegedUserCheck struct{}

IsPrivilegedUserCheck verifies user is privileged (linux - root, windows - Administrator)

func (IsPrivilegedUserCheck) Check added in v1.9.0

func (ipuc IsPrivilegedUserCheck) Check() (warnings, errorList []error)

Check validates if an user has elevated (root) privileges.

func (IsPrivilegedUserCheck) Name added in v1.9.0

Name returns name for IsPrivilegedUserCheck

type KubeletVersionCheck added in v1.9.0

type KubeletVersionCheck struct {
	KubernetesVersion string
	// contains filtered or unexported fields
}

KubeletVersionCheck validates installed kubelet version

func (KubeletVersionCheck) Check added in v1.9.0

func (kubever KubeletVersionCheck) Check() (warnings, errorList []error)

Check validates kubelet version. It should be not less than minimal supported version

func (KubeletVersionCheck) Name added in v1.9.0

func (KubeletVersionCheck) Name() string

Name will return KubeletVersion as name for KubeletVersionCheck

type KubernetesVersionCheck added in v1.8.0

type KubernetesVersionCheck struct {
	KubeadmVersion    string
	KubernetesVersion string
}

KubernetesVersionCheck validates Kubernetes and kubeadm versions

func (KubernetesVersionCheck) Check added in v1.8.0

func (kubever KubernetesVersionCheck) Check() (warnings, errorList []error)

Check validates Kubernetes and kubeadm versions

func (KubernetesVersionCheck) Name added in v1.9.0

Name will return KubernetesVersion as name for KubernetesVersionCheck

type MemCheck added in v1.20.0

type MemCheck struct {
	Mem uint64
}

MemCheck checks if the number of megabytes of memory is not less than required

func (MemCheck) Check added in v1.20.0

func (mc MemCheck) Check() (warnings, errorList []error)

Check number of memory required by kubeadm

func (MemCheck) Name added in v1.20.0

func (MemCheck) Name() string

Name returns the label for memory

type NumCPUCheck added in v1.13.0

type NumCPUCheck struct {
	NumCPU int
}

NumCPUCheck checks if current number of CPUs is not less than required

func (NumCPUCheck) Check added in v1.13.0

func (ncc NumCPUCheck) Check() (warnings, errorList []error)

Check number of CPUs required by kubeadm

func (NumCPUCheck) Name added in v1.13.0

func (NumCPUCheck) Name() string

Name returns the label for NumCPUCheck

type PortOpenCheck

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

PortOpenCheck ensures the given port is available for use.

func (PortOpenCheck) Check

func (poc PortOpenCheck) Check() (warnings, errorList []error)

Check validates if the particular port is available.

func (PortOpenCheck) Name added in v1.9.0

func (poc PortOpenCheck) Name() string

Name returns name for PortOpenCheck. If not known, will return "PortXXXX" based on port number

type ServiceCheck

type ServiceCheck struct {
	Service       string
	CheckIfActive bool
	Label         string
}

ServiceCheck verifies that the given service is enabled and active. If we do not detect a supported init system however, all checks are skipped and a warning is returned.

func (ServiceCheck) Check

func (sc ServiceCheck) Check() (warnings, errorList []error)

Check validates if the service is enabled and active.

func (ServiceCheck) Name added in v1.9.0

func (sc ServiceCheck) Name() string

Name returns label for ServiceCheck. If not provided, will return based on the service parameter

type SwapCheck added in v1.8.0

type SwapCheck struct{}

SwapCheck warns if swap is enabled

func (SwapCheck) Check added in v1.8.0

func (swc SwapCheck) Check() (warnings, errorList []error)

Check validates whether swap is enabled or not

func (SwapCheck) Name added in v1.9.0

func (SwapCheck) Name() string

Name will return Swap as name for SwapCheck

type SystemVerificationCheck added in v1.6.0

type SystemVerificationCheck struct{}

SystemVerificationCheck defines struct used for running the system verification node check in test/e2e_node/system

func (SystemVerificationCheck) Check added in v1.6.0

func (sysver SystemVerificationCheck) Check() (warnings, errorList []error)

Check runs all individual checks

func (SystemVerificationCheck) Name added in v1.9.0

Name will return SystemVerification as name for SystemVerificationCheck

Jump to

Keyboard shortcuts

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