kubeadm join phase

    kubeadm join phase is consistent with the kubeadm join workflow, and behind the scene both use the same code.

    Use this command to invoke single phase of the join workflow

    Use this command to invoke single phase of the join workflow

    Options

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    kubeadm join phase preflight

    Using this phase you can execute preflight checks on a joining node.

    Run join pre-flight checks

    Synopsis

    Run pre-flight checks for kubeadm join.

    Examples

    1. # Run join pre-flight checks using a config file.
    2. kubeadm join phase preflight --config kubeadm-config.yaml

    Options

    —apiserver-advertise-address string

    If the node should host a new control plane instance, the IP address the API Server will advertise it’s listening on. If not set the default network interface will be used.

    —apiserver-bind-port int32     Default: 6443

    If the node should host a new control plane instance, the port for the API Server to bind to.

    —certificate-key string

    Use this key to decrypt the certificate secrets uploaded by init.

    —config string

    Path to a kubeadm configuration file.

    —control-plane

    Create a new control plane instance on this node

    —cri-socket string

    Path to the CRI socket to connect. If empty kubeadm will try to auto-detect this value; use this option only if you have more than one CRI installed or if you have non-standard CRI socket.

    —discovery-file string

    For file-based discovery, a file or URL from which to load cluster information.

    —discovery-token string

    For token-based discovery, the token used to validate cluster information fetched from the API server.

    —discovery-token-ca-cert-hash strings

    For token-based discovery, validate that the root CA public key matches this hash (format: “<type>:<value>”).

    —discovery-token-unsafe-skip-ca-verification

    For token-based discovery, allow joining without —discovery-token-ca-cert-hash pinning.

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for preflight

    —ignore-preflight-errors strings

    A list of checks whose errors will be shown as warnings. Example: ‘IsPrivilegedUser,Swap’. Value ‘all’ ignores errors from all checks.

    —node-name string

    Specify the node name.

    —tls-bootstrap-token string

    Specify the token used to temporarily authenticate with the Kubernetes Control Plane while joining the node.

    —token string

    Use this token for both discovery-token and tls-bootstrap-token when those values are not provided.

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    Using this phase you can prepare a node for serving a control-plane.

    Prepare the machine for serving a control plane

    Synopsis

    Prepare the machine for serving a control plane

    1. kubeadm join phase control-plane-prepare [flags]

    Examples

    1. # Prepares the machine for serving a control plane

    Options

    -h, —help

    help for control-plane-prepare

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    Prepare the machine for serving a control plane

    Synopsis

    Prepare the machine for serving a control plane

    1. kubeadm join phase control-plane-prepare all [api-server-endpoint] [flags]

    Options

    —apiserver-advertise-address string

    If the node should host a new control plane instance, the IP address the API Server will advertise it’s listening on. If not set the default network interface will be used.

    —apiserver-bind-port int32     Default: 6443

    If the node should host a new control plane instance, the port for the API Server to bind to.

    —certificate-key string

    Use this key to decrypt the certificate secrets uploaded by init.

    —config string

    Path to a kubeadm configuration file.

    —control-plane

    Create a new control plane instance on this node

    —discovery-file string

    For file-based discovery, a file or URL from which to load cluster information.

    —discovery-token string

    For token-based discovery, the token used to validate cluster information fetched from the API server.

    —discovery-token-ca-cert-hash strings

    For token-based discovery, validate that the root CA public key matches this hash (format: “<type>:<value>”).

    —discovery-token-unsafe-skip-ca-verification

    For token-based discovery, allow joining without —discovery-token-ca-cert-hash pinning.

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for all

    —node-name string

    Specify the node name.

    —patches string

    Path to a directory that contains files named “target[suffix][+patchtype].extension”. For example, “kube-apiserver0+merge.yaml” or just “etcd.json”. “target” can be one of “kube-apiserver”, “kube-controller-manager”, “kube-scheduler”, “etcd”, “kubeletconfiguration”. “patchtype” can be one of “strategic”, “merge” or “json” and they match the patch formats supported by kubectl. The default “patchtype” is “strategic”. “extension” must be either “json” or “yaml”. “suffix” is an optional string that can be used to determine which patches are applied first alpha-numerically.

    —tls-bootstrap-token string

    Specify the token used to temporarily authenticate with the Kubernetes Control Plane while joining the node.

    —token string

    Use this token for both discovery-token and tls-bootstrap-token when those values are not provided.

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    [EXPERIMENTAL] Download certificates shared among control-plane nodes from the kubeadm-certs Secret

    Synopsis

    [EXPERIMENTAL] Download certificates shared among control-plane nodes from the kubeadm-certs Secret

    —certificate-key string

    Use this key to decrypt the certificate secrets uploaded by init.

    —config string

    Path to a kubeadm configuration file.

    —control-plane
    —discovery-file string

    For file-based discovery, a file or URL from which to load cluster information.

    —discovery-token string

    For token-based discovery, the token used to validate cluster information fetched from the API server.

    —discovery-token-ca-cert-hash strings

    For token-based discovery, validate that the root CA public key matches this hash (format: “<type>:<value>”).

    —discovery-token-unsafe-skip-ca-verification

    For token-based discovery, allow joining without —discovery-token-ca-cert-hash pinning.

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for download-certs

    —tls-bootstrap-token string

    Specify the token used to temporarily authenticate with the Kubernetes Control Plane while joining the node.

    —token string

    Use this token for both discovery-token and tls-bootstrap-token when those values are not provided.

    Options inherited from parent commands

    Generate the certificates for the new control plane components

    Synopsis

    Generate the certificates for the new control plane components

    1. kubeadm join phase control-plane-prepare certs [api-server-endpoint] [flags]

    Options

    —apiserver-advertise-address string

    If the node should host a new control plane instance, the IP address the API Server will advertise it’s listening on. If not set the default network interface will be used.

    —config string

    Path to a kubeadm configuration file.

    —control-plane

    Create a new control plane instance on this node

    —discovery-file string

    For file-based discovery, a file or URL from which to load cluster information.

    —discovery-token string

    For token-based discovery, the token used to validate cluster information fetched from the API server.

    —discovery-token-ca-cert-hash strings

    For token-based discovery, validate that the root CA public key matches this hash (format: “<type>:<value>”).

    —discovery-token-unsafe-skip-ca-verification

    For token-based discovery, allow joining without —discovery-token-ca-cert-hash pinning.

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for certs

    —node-name string

    Specify the node name.

    —tls-bootstrap-token string

    Specify the token used to temporarily authenticate with the Kubernetes Control Plane while joining the node.

    —token string

    Use this token for both discovery-token and tls-bootstrap-token when those values are not provided.

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    Generate the kubeconfig for the new control plane components

    Synopsis

    Generate the kubeconfig for the new control plane components

    1. kubeadm join phase control-plane-prepare kubeconfig [api-server-endpoint] [flags]

    Options

    —certificate-key string

    Use this key to decrypt the certificate secrets uploaded by init.

    —config string

    Path to a kubeadm configuration file.

    —control-plane

    Create a new control plane instance on this node

    —discovery-file string

    For file-based discovery, a file or URL from which to load cluster information.

    —discovery-token string

    For token-based discovery, the token used to validate cluster information fetched from the API server.

    —discovery-token-ca-cert-hash strings

    For token-based discovery, validate that the root CA public key matches this hash (format: “<type>:<value>”).

    —discovery-token-unsafe-skip-ca-verification

    For token-based discovery, allow joining without —discovery-token-ca-cert-hash pinning.

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for kubeconfig

    —tls-bootstrap-token string

    Specify the token used to temporarily authenticate with the Kubernetes Control Plane while joining the node.

    —token string

    Use this token for both discovery-token and tls-bootstrap-token when those values are not provided.

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    Generate the manifests for the new control plane components

    Synopsis

    Generate the manifests for the new control plane components

    1. kubeadm join phase control-plane-prepare control-plane [flags]

    Options

    —apiserver-advertise-address string

    If the node should host a new control plane instance, the IP address the API Server will advertise it’s listening on. If not set the default network interface will be used.

    —apiserver-bind-port int32     Default: 6443

    If the node should host a new control plane instance, the port for the API Server to bind to.

    —config string

    Path to a kubeadm configuration file.

    —control-plane

    Create a new control plane instance on this node

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for control-plane

    —patches string

    Path to a directory that contains files named “target[suffix][+patchtype].extension”. For example, “kube-apiserver0+merge.yaml” or just “etcd.json”. “target” can be one of “kube-apiserver”, “kube-controller-manager”, “kube-scheduler”, “etcd”, “kubeletconfiguration”. “patchtype” can be one of “strategic”, “merge” or “json” and they match the patch formats supported by kubectl. The default “patchtype” is “strategic”. “extension” must be either “json” or “yaml”. “suffix” is an optional string that can be used to determine which patches are applied first alpha-numerically.

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    kubeadm join phase kubelet-start

    Using this phase you can write the kubelet settings, certificates and (re)start the kubelet.

    Write kubelet settings, certificates and (re)start the kubelet

    Synopsis

    Write a file with KubeletConfiguration and an environment file with node specific kubelet settings, and then (re)start kubelet.

    1. kubeadm join phase kubelet-start [api-server-endpoint] [flags]

    Options

    —config string

    Path to a kubeadm configuration file.

    —cri-socket string
    —discovery-file string

    For file-based discovery, a file or URL from which to load cluster information.

    —discovery-token string

    For token-based discovery, the token used to validate cluster information fetched from the API server.

    —discovery-token-ca-cert-hash strings

    For token-based discovery, validate that the root CA public key matches this hash (format: “<type>:<value>”).

    —discovery-token-unsafe-skip-ca-verification

    For token-based discovery, allow joining without —discovery-token-ca-cert-hash pinning.

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for kubelet-start

    —node-name string

    Specify the node name.

    —patches string

    Path to a directory that contains files named “target[suffix][+patchtype].extension”. For example, “kube-apiserver0+merge.yaml” or just “etcd.json”. “target” can be one of “kube-apiserver”, “kube-controller-manager”, “kube-scheduler”, “etcd”, “kubeletconfiguration”. “patchtype” can be one of “strategic”, “merge” or “json” and they match the patch formats supported by kubectl. The default “patchtype” is “strategic”. “extension” must be either “json” or “yaml”. “suffix” is an optional string that can be used to determine which patches are applied first alpha-numerically.

    —tls-bootstrap-token string

    Specify the token used to temporarily authenticate with the Kubernetes Control Plane while joining the node.

    —token string

    Use this token for both discovery-token and tls-bootstrap-token when those values are not provided.

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    Using this phase you can join a node as a control-plane instance.

    Join a machine as a control plane instance

    Synopsis

    Join a machine as a control plane instance

    1. kubeadm join phase control-plane-join all

    Options

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    Join a machine as a control plane instance

    Synopsis

    Join a machine as a control plane instance

    1. kubeadm join phase control-plane-join all [flags]

    Options

    —apiserver-advertise-address string

    If the node should host a new control plane instance, the IP address the API Server will advertise it’s listening on. If not set the default network interface will be used.

    —config string

    Path to a kubeadm configuration file.

    —control-plane

    Create a new control plane instance on this node

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for all

    —node-name string

    Specify the node name.

    —patches string

    Path to a directory that contains files named “target[suffix][+patchtype].extension”. For example, “kube-apiserver0+merge.yaml” or just “etcd.json”. “target” can be one of “kube-apiserver”, “kube-controller-manager”, “kube-scheduler”, “etcd”, “kubeletconfiguration”. “patchtype” can be one of “strategic”, “merge” or “json” and they match the patch formats supported by kubectl. The default “patchtype” is “strategic”. “extension” must be either “json” or “yaml”. “suffix” is an optional string that can be used to determine which patches are applied first alpha-numerically.

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    Add a new local etcd member

    Synopsis

    Add a new local etcd member

    1. kubeadm join phase control-plane-join etcd [flags]

    Options

    —apiserver-advertise-address string

    If the node should host a new control plane instance, the IP address the API Server will advertise it’s listening on. If not set the default network interface will be used.

    —config string

    Path to a kubeadm configuration file.

    —control-plane

    Create a new control plane instance on this node

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for etcd

    —node-name string

    Specify the node name.

    —patches string

    Path to a directory that contains files named “target[suffix][+patchtype].extension”. For example, “kube-apiserver0+merge.yaml” or just “etcd.json”. “target” can be one of “kube-apiserver”, “kube-controller-manager”, “kube-scheduler”, “etcd”, “kubeletconfiguration”. “patchtype” can be one of “strategic”, “merge” or “json” and they match the patch formats supported by kubectl. The default “patchtype” is “strategic”. “extension” must be either “json” or “yaml”. “suffix” is an optional string that can be used to determine which patches are applied first alpha-numerically.

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    Register the new control-plane node into the ClusterStatus maintained in the kubeadm-config ConfigMap (DEPRECATED)

    Synopsis

    Register the new control-plane node into the ClusterStatus maintained in the kubeadm-config ConfigMap (DEPRECATED)

    1. kubeadm join phase control-plane-join update-status [flags]

    Options

    —apiserver-advertise-address string

    If the node should host a new control plane instance, the IP address the API Server will advertise it’s listening on. If not set the default network interface will be used.

    —config string

    Path to a kubeadm configuration file.

    —control-plane

    Create a new control plane instance on this node

    -h, —help

    help for update-status

    —node-name string

    Specify the node name.

    Options inherited from parent commands

    —rootfs string

    [EXPERIMENTAL] The path to the ‘real’ host root filesystem.

    Mark a node as a control-plane

    Synopsis

    Mark a node as a control-plane

    Options

    —config string

    Path to a kubeadm configuration file.

    —control-plane

    Create a new control plane instance on this node

    —dry-run

    Don’t apply any changes; just output what would be done.

    -h, —help

    help for mark-control-plane

    —node-name string

    Specify the node name.

    Options inherited from parent commands

    What’s next

    • to bootstrap a Kubernetes control-plane node
    • kubeadm join to connect a node to the cluster
    • to revert any changes made to this host by kubeadm init or