kubeadm_join_phase_control-plane-prepare_download-certs [page]deterministic
### Synopsis
Download certificates shared among control-plane nodes from the kubeadm-certs Secret
``` kubeadm join phase control-plane-prepare download-certs [api-server-endpoint] [flags] ```
### Options
<table style="width: 100%; table-layout: fixed;"> <colgroup> <col span="1" style="width: 10px;" /> <col span="1" /> </colgroup> <tbody>
<tr> <td colspan="2">--certificate-key string</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>Use this key to decrypt the certificate secrets uploaded by init. The certificate key is a hex encoded string that is an AES key of size 32 bytes.</p></td> </tr>
<tr> <td colspan="2">--config string</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>Path to a kubeadm configuration file.</p></td> </tr>
<tr> <td colspan="2">--control-plane</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>Create a new control plane instance on this node</p></td> </tr>
<tr> <td colspan="2">--discovery-file string</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>For file-based discovery, a file or URL from which to load cluster information.</p></td> </tr>
<tr> <td colspan="2">--discovery-token string</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>For token-based discovery, the token used to validate cluster information fetched from the API server.</p></td> </tr>
<tr> <td colspan="2">--discovery-token-ca-cert-hash strings</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>For token-based discovery, validate that the root CA public key matches this hash (format: "<type>:<value>").</p></td> </tr>
<tr> <td colspan="2">--discovery-token-unsafe-skip-ca-verification</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>For token-based discovery, allow joining without --discovery-token-ca-cert-hash pinning.</p></td> </tr>
<tr> <td colspan="2">--dry-run</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>Don't apply any changes; just output what would be done.</p></td> </tr>
<tr> <td colspan="2">-h, --help</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>help for download-certs</p></td> </tr>
<tr> <td colspan="2">--tls-bootstrap-token string</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>Specify the token used to temporarily authenticate with the Kubernetes Control Plane while joining the node.</p></td> </tr>
<tr> <td colspan="2">--token string</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>Use this token for both discovery-token and tls-bootstrap-token when those values are not provided.</p></td> </tr>
</tbody> </table>
### Options inherited from parent commands
<table style="width: 100%; table-layout: fixed;"> <colgroup> <col span="1" style="width: 10px;" /> <col span="1" /> </colgroup> <tbody>
<tr> <td colspan="2">--rootfs string</td> </tr> <tr> <td></td><td style="line-height: 130%; word-wrap: break-word;"><p>The path to the 'real' host root filesystem. This will cause kubeadm to chroot into the provided path.</p></td> </tr>
</tbody> </table>