10 KiB
Executable File
approvers | title | |||
---|---|---|---|---|
|
kubeadm alpha |
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!
{: .caution}
In v1.8.0, kubeadm introduced the kubeadm alpha phase
command with the aim of making kubeadm more modular. This modularity enables you to invoke atomic sub-steps of the bootstrap process; you can let kubeadm do some parts and fill in yourself where you need customizations.
kubeadm alpha phase
is consistent with kubeadm init workflow,
and behind the scene both use the same code.
- kubeadm alpha phase preflight
- kubeadm alpha phase certs
- kubeadm alpha phase kubeconfig
- kubeadm alpha phase controlplane
- kubeadm alpha phase etcd
- kubeadm alpha phase mark-master
- kubeadm alpha phase bootstrap-token
- kubeadm alpha phase upload-config
- kubeadm alpha phase addon
- kubeadm alpha phase selfhosting
kubeadm alpha phase preflight
You can execute preflight checks both for the master node, like in kubeadm init
, or for the worker node
like in kubeadm join
.
{% capture preflight_master %} {% include_relative generated/kubeadm_alpha_phase_preflight_master.md %} {% endcapture %}
{% capture preflight_node %} {% include_relative generated/kubeadm_alpha_phase_preflight_node.md %} {% endcapture %}
{% assign tab_set_name = "tab-preflight" %} {% assign tab_names = "master,node" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: preflight_master | push: preflight_node %}
{% include tabs.md %}
kubeadm alpha phase certs
You can create all required certificates with the all
subcommand or selectively create certificates.
{% capture certs_all %} {% include_relative generated/kubeadm_alpha_phase_certs_all.md %} {% endcapture %}
{% capture certs_ca %} {% include_relative generated/kubeadm_alpha_phase_certs_ca.md %} {% endcapture %}
{% capture certs_apiserver %} {% include_relative generated/kubeadm_alpha_phase_certs_apiserver.md %} {% endcapture %}
{% capture certs_apiserver-kubelet-client %} {% include_relative generated/kubeadm_alpha_phase_certs_apiserver-kubelet-client.md %} {% endcapture %}
{% capture certs_sa %} {% include_relative generated/kubeadm_alpha_phase_certs_sa.md %} {% endcapture %}
{% capture certs_front-proxy-ca %} {% include_relative generated/kubeadm_alpha_phase_certs_front-proxy-ca.md %} {% endcapture %}
{% capture certs_front-proxy-client %} {% include_relative generated/kubeadm_alpha_phase_certs_front-proxy-client.md %} {% endcapture %}
{% assign tab_set_name = "tab-certs" %} {% assign tab_names = "all,ca,apiserver,apiserver-kubelet-client,sa,front-proxy-ca,front-proxy-client" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: certs_all | push: certs_ca | push: certs_apiserver | push: certs_apiserver-kubelet-client | push: certs_sa | push: certs_front-proxy-ca | push: certs_front-proxy-client %}
{% include tabs.md %}
kubeadm alpha phase kubeconfig
You can create all required kubeconfig files with the all
subcommand, or selectively create the files.
Additionally, the user
subcommand supports the creation of kubeconfig files for additional users.
{% capture kubeconfig_all %} {% include_relative generated/kubeadm_alpha_phase_kubeconfig_all.md %} {% endcapture %}
{% capture kubeconfig_admin %} {% include_relative generated/kubeadm_alpha_phase_kubeconfig_admin.md %} {% endcapture %}
{% capture kubeconfig_kubelet %} {% include_relative generated/kubeadm_alpha_phase_kubeconfig_kubelet.md %} {% endcapture %}
{% capture kubeconfig_controller-manager %} {% include_relative generated/kubeadm_alpha_phase_kubeconfig_controller-manager.md %} {% endcapture %}
{% capture kubeconfig_scheduler %} {% include_relative generated/kubeadm_alpha_phase_kubeconfig_scheduler.md %} {% endcapture %}
{% capture kubeconfig_user %} {% include_relative generated/kubeadm_alpha_phase_kubeconfig_user.md %} {% endcapture %}
{% assign tab_set_name = "tab-kubeconfig" %} {% assign tab_names = "all,admin,kubelet,controller-manager,scheduler,user" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: kubeconfig_all | push: kubeconfig_admin | push: kubeconfig_kubelet | push: kubeconfig_controller-manager | push: kubeconfig_scheduler | push: kubeconfig_user %}
{% include tabs.md %}
kubeadm alpha phase controlplane
You can create all required static Pod files for the control plane components with the all
subcommand,
or selectively create the files.
{% capture controlplane_all %} {% include_relative generated/kubeadm_alpha_phase_controlplane_all.md %} {% endcapture %}
{% capture controlplane_apiserver %} {% include_relative generated/kubeadm_alpha_phase_controlplane_apiserver.md %} {% endcapture %}
{% capture controlplane_controller-manager %} {% include_relative generated/kubeadm_alpha_phase_controlplane_controller-manager.md %} {% endcapture %}
{% capture controlplane_scheduler %} {% include_relative generated/kubeadm_alpha_phase_controlplane_scheduler.md %} {% endcapture %}
{% assign tab_set_name = "tab-controlplane" %} {% assign tab_names = "all,apiserver,controller-manager,scheduler" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: controlplane_all | push: controlplane_apiserver | push: controlplane_controller-manager | push: controlplane_scheduler %}
{% include tabs.md %}
kubeadm alpha phase etcd
Use the following command to create a self-hosted, local etcd instance based on a static Pod file.
{% capture etcd-local %} {% include_relative generated/kubeadm_alpha_phase_etcd_local.md %} {% endcapture %}
{% assign tab_set_name = "tab-etcd" %} {% assign tab_names = "etcd local" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: etcd-local %}
{% include tabs.md %}
kubeadm alpha phase mark-master
Use the following command to label and taint the node with the node-role.kubernetes.io/master=""
key-value pair.
{% capture mark-master %} {% include_relative generated/kubeadm_alpha_phase_mark-master.md %} {% endcapture %}
{% assign tab_set_name = "tab-mark-master" %} {% assign tab_names = "mark-master" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: mark-master %}
{% include tabs.md %}
kubeadm alpha phase bootstrap-token
Use the following actions to fully configure bootstrap tokens.
You can fully configure bootstrap tokens with the all
subcommand,
or selectively configure single elements.
{% capture bootstrap-token_all %} {% include_relative generated/kubeadm_alpha_phase_bootstrap-token_all.md %} {% endcapture %}
{% capture bootstrap-token_create %} {% include_relative generated/kubeadm_alpha_phase_bootstrap-token_create.md %} {% endcapture %}
{% capture bootstrap-token_cluster-info %} {% include_relative generated/kubeadm_alpha_phase_bootstrap-token_cluster-info.md %} {% endcapture %}
{% capture bootstrap-token_node_allow-auto-approve %} {% include_relative generated/kubeadm_alpha_phase_bootstrap-token_node_allow-auto-approve.md %} {% endcapture %}
{% capture bootstrap-token_node_allow-post-csrs %} {% include_relative generated/kubeadm_alpha_phase_bootstrap-token_node_allow-post-csrs.md %} {% endcapture %}
{% assign tab_set_name = "tab-bootstrap-token" %} {% assign tab_names = "all,create,cluster-info,node allow-auto-approve,node allow-post-csrs" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: bootstrap-token_all | push: bootstrap-token_create | push: bootstrap-token_cluster-info | push: bootstrap-token_node_allow-auto-approve | push: bootstrap-token_node_allow-post-csrs %}
{% include tabs.md %}
kubeadm alpha phase upload-config
You can use this command to upload the kubeadm configuration to your cluster. Alternatively, you can use kubeadm config.
{% capture upload-config %} {% include_relative generated/kubeadm_alpha_phase_upload-config.md %} {% endcapture %}
{% assign tab_set_name = "tab-upload-config" %} {% assign tab_names = "upload-config" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: upload-config %}
{% include tabs.md %}
kubeadm alpha phase addon
You can install all the available addons with the all
subcommand, or
install them selectively.
Please note that if kubeadm is invoked with --feature-gates=CoreDNS=true
, CoreDNS is installed instead of kube-dns
.
{% capture addon-all %} {% include_relative generated/kubeadm_alpha_phase_addon_all.md %} {% endcapture %}
{% capture addon-kube-proxy %} {% include_relative generated/kubeadm_alpha_phase_addon_kube-proxy.md %} {% endcapture %}
{% capture addon-kube-dns %} {% include_relative generated/kubeadm_alpha_phase_addon_kube-dns.md %} {% endcapture %}
{% assign tab_set_name = "tab-addon" %} {% assign tab_names = "all,kube-proxy,kube-dns" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: addon-all | push: addon-kube-proxy | push: addon-kube-dns %}
{% include tabs.md %}
kubeadm alpha phase self-hosting
Caution: Self-hosting is an alpha feature. See kubeadm init documentation for self-hosting limitations. {: .caution}
{% capture self-hosting %} {% include_relative generated/kubeadm_alpha_phase_selfhosting_convert-from-staticpods.md %} {% endcapture %}
{% assign tab_set_name = "tab-self-hosting" %} {% assign tab_names = "self-hosting" | split: ',' | compact %} {% assign tab_contents = site.emptyArray | push: self-hosting %}
{% include tabs.md %}
What's next
- kubeadm init to bootstrap a Kubernetes master node
- kubeadm join to connect a node to the cluster
- kubeadm reset to revert any changes made to this host by
kubeadm init
orkubeadm join