Caution:kubeadm alpha
provides a preview of a set of features made available for gathering feedback from the community. Please try it out and give us feedback!
You can renew all Kubernetes certificates using the all
subcommand or renew them selectively.
For more details about certificate expiration and renewal see the certificate management documentation.
Renew certificates for a Kubernetes cluster
This command is not meant to be run on its own. See list of available subcommands.
kubeadm alpha certs renew [flags]
-h, --help help for renew
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew all available certificates
Renew all known certificates necessary to run the control plane. Renewals are run unconditionally, regardless of expiration date. Renewals can also be run individually for more control.
kubeadm alpha certs renew all [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for all
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate embedded in the kubeconfig file for the admin to use and for kubeadm itself
Renew the certificate embedded in the kubeconfig file for the admin to use and for kubeadm itself.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew admin.conf [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for admin.conf
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate the apiserver uses to access etcd
Renew the certificate the apiserver uses to access etcd.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew apiserver-etcd-client [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for apiserver-etcd-client
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate for the API server to connect to kubelet
Renew the certificate for the API server to connect to kubelet.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew apiserver-kubelet-client [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for apiserver-kubelet-client
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate for serving the Kubernetes API
Renew the certificate for serving the Kubernetes API.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew apiserver [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for apiserver
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate embedded in the kubeconfig file for the controller manager to use
Renew the certificate embedded in the kubeconfig file for the controller manager to use.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew controller-manager.conf [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for controller-manager.conf
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate for liveness probes to healtcheck etcd
Renew the certificate for liveness probes to healtcheck etcd.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew etcd-healthcheck-client [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for etcd-healthcheck-client
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate for etcd nodes to communicate with each other
Renew the certificate for etcd nodes to communicate with each other.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew etcd-peer [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for etcd-peer
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate for serving etcd
Renew the certificate for serving etcd.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew etcd-server [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for etcd-server
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate for the front proxy client
Renew the certificate for the front proxy client.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew front-proxy-client [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for front-proxy-client
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Renew the certificate embedded in the kubeconfig file for the scheduler manager to use
Renew the certificate embedded in the kubeconfig file for the scheduler manager to use.
Renewals run unconditionally, regardless of certificate expiration date; extra attributes such as SANs will be based on the existing file/certificates, there is no need to resupply them.
Renewal by default tries to use the certificate authority in the local PKI managed by kubeadm; as alternative it is possible to use K8s certificate API for certificate renewal, or as a last option, to generate a CSR request.
After renewal, in order to make changes effective, is is required to restart control-plane components and eventually re-distribute the renewed certificate in case the file is used elsewhere.
kubeadm alpha certs renew scheduler.conf [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
--csr-dir string The path to output the CSRs and private keys to
--csr-only Create CSRs instead of generating certificates
-h, --help help for scheduler.conf
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--use-api Use the Kubernetes certificate API to renew certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
This command can be used to generate a new control-plane certificate key.
The key can be passed as --certificate-key
to kubeadm init
and kubeadm join
to enable the automatic copy of certificates when joining additional control-plane nodes.
Generate certificate keys
This command will print out a secure randomly-generated certificate key that can be used with the “init” command.
You can also use “kubeadm init –experimental-upload-certs” without specifying a certificate key and it will generate and print one for you.
kubeadm alpha certs certificate-key [flags]
-h, --help help for certificate-key
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
This command checks expiration for the certificates in the local PKI managed by kubeadm. For more details about certificate expiration and renewal see the certificate management documentation.
Check certificates expiration for a Kubernetes cluster
Checks expiration for the certificates in the local PKI managed by kubeadm.
kubeadm alpha certs check-expiration [flags]
--cert-dir string The path where to save the certificates (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
-h, --help help for check-expiration
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
The user
subcommand can be used for the creation of kubeconfig files for additional users.
Kubeconfig file utilities
Kubeconfig file utilities.
Alpha Disclaimer: this command is currently alpha.
-h, --help help for kubeconfig
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Output a kubeconfig file for an additional user
Output a kubeconfig file for an additional user.
Alpha Disclaimer: this command is currently alpha.
kubeadm alpha kubeconfig user [flags]
# Output a kubeconfig file for an additional user named foo
kubeadm alpha kubeconfig user --client-name=foo
--apiserver-advertise-address string The IP address the API server is accessible on
--apiserver-bind-port int32 The port the API server is accessible on (default 6443)
--cert-dir string The path where certificates are stored (default "/etc/kubernetes/pki")
--client-name string The name of user. It will be used as the CN if client certificates are created
-h, --help help for user
--org strings The orgnizations of the client certificate. It will be used as the O if client certificates are created
--token string The token that should be used as the authentication mechanism for this kubeconfig, instead of client certificates
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Use the following commands to either download the kubelet configuration from the cluster or to enable the DynamicKubeletConfiguration feature.
Commands related to handling the kubelet
This command is not meant to be run on its own. See list of available subcommands.
-h, --help help for kubelet
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Download the kubelet configuration from the cluster ConfigMap kubelet-config-1.X, where X is the minor version of the kubelet
Download the kubelet configuration from a ConfigMap of the form “kubelet-config-1.X” in the cluster, where X is the minor version of the kubelet. Either kubeadm autodetects the kubelet version by exec-ing “kubelet –version” or respects the –kubelet-version parameter.
Alpha Disclaimer: this command is currently alpha.
kubeadm alpha kubelet config download [flags]
# Download the kubelet configuration from the ConfigMap in the cluster. Autodetect the kubelet version.
kubeadm alpha phase kubelet config download
# Download the kubelet configuration from the ConfigMap in the cluster. Use a specific desired kubelet version.
kubeadm alpha phase kubelet config download --kubelet-version 1.14.0
-h, --help help for download
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--kubelet-version string The desired version for the kubelet. Defaults to being autodetected from 'kubelet --version'.
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Download the kubelet configuration from the cluster ConfigMap kubelet-config-1.X, where X is the minor version of the kubelet
Download the kubelet configuration from a ConfigMap of the form “kubelet-config-1.X” in the cluster, where X is the minor version of the kubelet. Either kubeadm autodetects the kubelet version by exec-ing “kubelet –version” or respects the –kubelet-version parameter.
Alpha Disclaimer: this command is currently alpha.
kubeadm alpha kubelet config download [flags]
# Download the kubelet configuration from the ConfigMap in the cluster. Autodetect the kubelet version.
kubeadm alpha phase kubelet config download
# Download the kubelet configuration from the ConfigMap in the cluster. Use a specific desired kubelet version.
kubeadm alpha phase kubelet config download --kubelet-version 1.14.0
-h, --help help for download
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
--kubelet-version string The desired version for the kubelet. Defaults to being autodetected from 'kubelet --version'.
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
The subcommand pivot
can be used to convert a static Pod-hosted control plane into a self-hosted one.
Make a kubeadm cluster self-hosted
This command is not meant to be run on its own. See list of available subcommands.
-h, --help help for selfhosting
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
Convert a static Pod-hosted control plane into a self-hosted one
Convert static Pod files for control plane components into self-hosted DaemonSets configured via the Kubernetes API.
See the documentation for self-hosting limitations.
Alpha Disclaimer: this command is currently alpha.
kubeadm alpha selfhosting pivot [flags]
# Convert a static Pod-hosted control plane into a self-hosted one.
kubeadm alpha phase self-hosting convert-from-staticpods
--cert-dir string The path where certificates are stored (default "/etc/kubernetes/pki")
--config string Path to a kubeadm configuration file.
-f, --force Pivot the cluster without prompting for confirmation
-h, --help help for pivot
--kubeconfig string The kubeconfig file to use when talking to the cluster. If the flag is not set, a set of standard locations can be searched for an existing kubeconfig file. (default "/etc/kubernetes/admin.conf")
-s, --store-certs-in-secrets Enable storing certs in secrets
--rootfs string [EXPERIMENTAL] The path to the 'real' host root filesystem.
kubeadm init
or kubeadm join
Was this page helpful?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.