27b7b453a9
* Update metadata.generation behaviour for custom resources (#10705) * update docs promoting plugins to beta (#10796) * docs update to promote TaintBasedEvictions to beta (#10765) * First Korean l10n work for dev-1.13 (#10719) * Update outdated l10n(ko) contents (#10689) fixes #10686 * Translate concepts/overview/what-is-kubernetes in Korean (#10690) * Translate concepts/overview/what-is-kubernetes in Korean * Feedback from ClaudiaJKang * Translate concepts/overview/components in Korean (#10882) * Translate concepts/overview/components in Korean #10717 * Translate concepts/overview/components in Korean * Translate concepts/overview/components in Korean * Apply Korean glossary: 서비스 어카운트 * Translate concepts/overview/kubernetes-api in Korean (#10773) * Translate concepts/overview/kubernetes-api in Korean * Applied feedback from ianychoi * kubeadm: update the configuration docs to v1beta1 (#10959) * kubeadm: add small v1beta1 related updates (#10988) * ADD content/zh/docs/reference/setup-tools/kubeadm/kubeadm.md (#11031) * ADD content/zh/docs/reference/setup-tools/kubeadm/kubeadm.md * ADD content/zh/docs/reference/setup-tools/kubeadm/generated/kubeadm_init.md * Update content/zh/docs/reference/setup-tools/kubeadm/kubeadm.md Accepted Co-Authored-By: YouthLab <tsui@highyouth.com> * do not change 'master' or 'worker' nodes to '主从' * Doc updates for volume scheduling GA (#10743) * Doc updates for volume scheduling GA * Make trivial change to kick build * Document nodelease feature (#10699) * advanced audit doc for ModeBlockingStrict (#10203) * Rename EncryptionConfig to EncryptionConfiguration (#11080) EncryptionConfig was renamed to EncryptedConfiguration and added to the `apiserver.config.k8s.io` API group in Kubernetes 1.13. The feature was previously in alpha and was not handling versions properly, which lead to an originally unnoticed `v1` in the docs. * content/zh/docs/reference/setup-tools/kubeadm/kubeadm-init.md * trsanlate create-cluster-kubeadm.md to chinese (#11041) * trsanlate create-cluster-kubeadm.md to chinese * Update create-cluster-kubeadm.md * update the feature stage in v1.13 (#11307) * update new feature gates to document (#11295) * refresh controller role list on rbac description page (#11290) * node labeling restriction docs (#10944) * Update 1.13 docs for CSI GA (#10893) * dynamic audit documentation (#9947) * adds dynamic audit documentation * Copyedit for clarity See also inline question/s * Fix feature state shortcode * Update feature state * changes wording for dynamic audit flag behavior * Minor copyedit * fix dynamic audit yaml * adds api enablement command to dynamic audit docs * change ordering dynamic audit appears in * add references to dynamic audit in webhook backend * reword dynamic audit reference * updates stages field for audit sink object * changes audit sink api definition; rewords policy * kubeadm: remove kube-proxy workaround (#11162) * zh-trans content/en/docs/setup/independent/install-kubeadm.md (#11338) * zh-trans content/en/docs/setup/independent/install-kubeadm.md * Update install-kubeadm.md * Update dry run feature to beta (#11140) * vSphere volume raw block support doc update (#10932) * Add docs for Windows DNS configurations (#10036) * Update docs for fields allowed at root of CRD schema (#9973) * Add docs for Windows DNS configurations * add device monitoring documentation (#9945) * kubeadm: adds upgrade instructions for 1.13 (#11138) * kubeadm: adds upgrade instructions for 1.13 Signed-off-by: Chuck Ha <ha.chuck@gmail.com> * add minor copyedits Addressed a couple of copyedit comments a bit more cleanly. * kubeadm: add improvements to HA docs (#11094) * kubeadm: add information and diagrams for HA topologies * kubeadm: update HA doc with simplified steps * kubeadm: update HA doc with simplified steps * edit ha, add new topology topic, reorder by weight * troubleshoot markdown * fix more markdown, fix links * more markdown * more markdown * more markdown * changes after reviewer comments * add steps about Weave * update note about stacked topology * kubeadm external etcd HA upgrade 1.13 (#11364) * kubeadm external etcd HA upgrade 1.13 Signed-off-by: Ruben Orduz <rubenoz@gmail.com> * Update stacked controlplane steps * kubeadm cert documentation (#11093) * kubeadm certificate API and CSR documentation * copyedits * fix typo * PR for diff docs (#10789) * Empty commit against dev-1.13 for diff documentation * Complete Declarative maangement with diff commands * Second Korean l10n work for dev-1.13. (#11030) * Update outdated l10n(ko) contents (#10915) * Translate main menu for l10n(ko) docs (#10916) * Translate tasks/run-application/horizontal-pod-autoscale-walkthrough (#10980) * Translate content/ko/docs/concepts/overview/working-with-objects/kubernetes-object in Korean #11104 (#11332) * Pick-right-solution page translates into Korean. (#11340) * ko-trans: add jd/..., sap/..., ebay/..., homeoffice/... (#11336) * Translate concept/workloads/pods/pod-overview.md (#11092) Co-authored-by: June Yi <june.yi@samsung.com> Co-authored-by: Jesang Myung <jesang.myung@gmail.com> Co-authored-by: zerobig <38598117+zer0big@users.noreply.github.com> Co-authored-by: Claudia J.Kang <claudiajkang@gmail.com> Co-authored-by: lIuDuI <1693291525@qq.com> Co-authored-by: Woojin Na(Eddie) <cheapluv@gmail.com> * Rename encryption-at-rest related objects (#11059) EncryptionConfig was renamed to EncryptedConfiguration and added to the `apiserver.config.k8s.io` API group in Kubernetes 1.13. The feature was previously in alpha and was not handling versions properly, which lead to an originally unnoticed `v1` in the docs. Also, the `--experimental-encryption-provider-config` flag is now called just `--encryption-provider-config`. * Documenting FlexVolume Resize alpha feature. (#10097) * CR webhook conversion documentation (#10986) * CR Conversion * Addressing comments * Addressing more comments * Addressing even more comments * Addressing even^2 more comments * Remove references to etcd2 in v1.13 since support has been removed (#11414) * Remove etcd2 references as etcd2 is deprecated Link back to the v1.12 version of the etcd3 doc for the etcd2->etcd3 migration instructions. I updated the kube-apiserver reference manually, unsure if that is auto-generated somehow. The federation-apiserver can still potentially support etcd2 so I didn't touch that. * Remove outdated {master,node}.yaml files There are master/node yaml files that reference etcd2.service that are likely highly out of date. I couldn't find any docs that actually reference these templates so I removed them * Address review comments * Final Korean l10n work for dev-1.13 (#11440) * Update outdated l10n(ko) contents (#11425) fixes #11424 * Remove references to etcd2 in content/ko (#11416) * Resolve conflicts against master for /ko contents (#11438) * Fix unopened caution shortcode * kubeadm: update the reference docs for 1.13 (#10960) * docs update to promote TaintBasedEvictions to beta (#10765) * First Korean l10n work for dev-1.13 (#10719) * Update outdated l10n(ko) contents (#10689) fixes #10686 * Translate concepts/overview/what-is-kubernetes in Korean (#10690) * Translate concepts/overview/what-is-kubernetes in Korean * Feedback from ClaudiaJKang * Translate concepts/overview/components in Korean (#10882) * Translate concepts/overview/components in Korean #10717 * Translate concepts/overview/components in Korean * Translate concepts/overview/components in Korean * Apply Korean glossary: 서비스 어카운트 * Translate concepts/overview/kubernetes-api in Korean (#10773) * Translate concepts/overview/kubernetes-api in Korean * Applied feedback from ianychoi * kubeadm: update the configuration docs to v1beta1 (#10959) * kubeadm: add small v1beta1 related updates (#10988) * update new feature gates to document (#11295) * Update dry run feature to beta (#11140) * kubeadm: add improvements to HA docs (#11094) * kubeadm: add information and diagrams for HA topologies * kubeadm: update HA doc with simplified steps * kubeadm: update HA doc with simplified steps * edit ha, add new topology topic, reorder by weight * troubleshoot markdown * fix more markdown, fix links * more markdown * more markdown * more markdown * changes after reviewer comments * add steps about Weave * update note about stacked topology * kubeadm: update reference docs - add section about working with phases under kubeadm-init.md - update GA / beta status of features - kubeadm alpha phase was moved to kubeadm init phase - new commands were added under kubeadm alpha - included new CoreDNS usage examples * Generate components and tools reference * Add generated federation API Reference (#11491) * Add generated federation API Reference * Add front matter to federation reference * Remove whitespace from federation front matter * Remove more whitespace from federation front matter * Remove superfluous kubefed reference * Add frontmatter to generated kubefed reference * Fix kubefed reference page frontmatter * Generate kubectl reference docs 1.13 (#11487) * Generate kubectl reference docs 1.13 * Fix links in kubectl reference * Add 1.13 API reference (#11489) * Update config.toml (#11486) * Update config.toml Preparing for 1.13 release, updating the config.toml and dropping the 1.8 docs reference. * update dot releases and docsbranch typo * adding .Site. to Params.currentUrl (#11503) see https://github.com/kubernetes/website/pull/11502 for context * Add 1.13 Release notes (#11499)
156 lines
7.4 KiB
Markdown
156 lines
7.4 KiB
Markdown
---
|
|
title: kubeadm init phase
|
|
weight: 90
|
|
---
|
|
In v1.8.0, kubeadm introduced the `kubeadm alpha phase` command with the aim of making kubeadm more modular. In v1.13.0 this command graduated to `kubeadm init phase`. This modularity enables you to invoke atomic sub-steps of the bootstrap process. Hence, you can let kubeadm do some parts and fill in yourself where you need customizations.
|
|
|
|
`kubeadm init phase` is consistent with the [kubeadm init workflow](/docs/reference/setup-tools/kubeadm/kubeadm-init/#init-workflow),
|
|
and behind the scene both use the same code.
|
|
|
|
## kubeadm init phase preflight {#cmd-phase-preflight}
|
|
|
|
Using this command you can execute preflight checks on a control-plane node.
|
|
|
|
{{< tabs name="tab-preflight" >}}
|
|
{{< tab name="preflight" include="generated/kubeadm_init_phase_preflight.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
## kubeadm init phase certs {#cmd-phase-certs}
|
|
|
|
Can be used to create all required certificates by kubeadm.
|
|
|
|
{{< tabs name="tab-certs" >}}
|
|
{{< tab name="certs" include="generated/kubeadm_init_phase_certs.md" />}}
|
|
{{< tab name="all" include="generated/kubeadm_init_phase_certs_all.md" />}}
|
|
{{< tab name="apiserver-etcd-client" include="generated/kubeadm_init_phase_certs_apiserver-etcd-client.md" />}}
|
|
{{< tab name="apiserver-kubelet-client" include="generated/kubeadm_init_phase_certs_apiserver-kubelet-client.md" />}}
|
|
{{< tab name="apiserver" include="generated/kubeadm_init_phase_certs_apiserver.md" />}}
|
|
{{< tab name="ca" include="generated/kubeadm_init_phase_certs_ca.md" />}}
|
|
{{< tab name="etcd-ca" include="generated/kubeadm_init_phase_certs_etcd-ca.md" />}}
|
|
{{< tab name="healthcheck-client" include="generated/kubeadm_init_phase_certs_etcd-healthcheck-client.md" />}}
|
|
{{< tab name="etcd-peer" include="generated/kubeadm_init_phase_certs_etcd-peer.md" />}}
|
|
{{< tab name="etcd-server" include="generated/kubeadm_init_phase_certs_etcd-server.md" />}}
|
|
{{< tab name="front-proxy-ca" include="generated/kubeadm_init_phase_certs_front-proxy-ca.md" />}}
|
|
{{< tab name="front-proxy-client" include="generated/kubeadm_init_phase_certs_front-proxy-client.md" />}}
|
|
{{< tab name="certs_sa" include="generated/kubeadm_init_phase_certs_sa.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
## kubeadm init phase kubeconfig {#cmd-phase-kubeconfig}
|
|
|
|
You can create all required kubeconfig files by calling the `all` subcommand or call then individually.
|
|
|
|
{{< tabs name="tab-kubeconfig" >}}
|
|
{{< tab name="kubeconfig" include="generated/kubeadm_init_phase_kubeconfig.md" />}}
|
|
{{< tab name="all" include="generated/kubeadm_init_phase_kubeconfig_all.md" />}}
|
|
{{< tab name="admin" include="generated/kubeadm_init_phase_kubeconfig_admin.md" />}}
|
|
{{< tab name="controller-manager" include="generated/kubeadm_init_phase_kubeconfig_controller-manager.md" />}}
|
|
{{< tab name="kubelet" include="generated/kubeadm_init_phase_kubeconfig_kubelet.md" />}}
|
|
{{< tab name="scheduler" include="generated/kubeadm_init_phase_kubeconfig_scheduler.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
## kubeadm init phase kubelet-start {#cmd-phase-kubelet-start}
|
|
|
|
This phase will write the kubelet configuration file and environment file and then start the kubelet.
|
|
|
|
{{< tabs name="tab-kubelet-start" >}}
|
|
{{< tab name="kubelet-start" include="generated/kubeadm_init_phase_kubelet-start.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
## kubeadm init phase control-plane {#cmd-phase-control-plane}
|
|
|
|
Using this phase you can create all required static Pod files for the control plane components.
|
|
|
|
{{< tabs name="tab-control-plane" >}}
|
|
{{< tab name="control-plane" include="generated/kubeadm_init_phase_control-plane.md" />}}
|
|
{{< tab name="all" include="generated/kubeadm_init_phase_control-plane_all.md" />}}
|
|
{{< tab name="apiserver" include="generated/kubeadm_init_phase_control-plane_apiserver.md" />}}
|
|
{{< tab name="controller-manager" include="generated/kubeadm_init_phase_control-plane_controller-manager.md" />}}
|
|
{{< tab name="scheduler" include="generated/kubeadm_init_phase_control-plane_scheduler.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
|
|
## kubeadm init phase etcd {#cmd-phase-etcd}
|
|
|
|
Use the following phase to create a local etcd instance based on a static Pod file.
|
|
|
|
{{< tabs name="tab-etcd" >}}
|
|
{{< tab name="etcd" include="generated/kubeadm_init_phase_etcd.md" />}}
|
|
{{< tab name="local" include="generated/kubeadm_init_phase_etcd_local.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
|
|
## kubeadm init phase mark-control-plane {#cmd-phase-control-plane}
|
|
|
|
Use the following phase to label and taint the node with the `node-role.kubernetes.io/master=""` key-value pair.
|
|
|
|
{{< tabs name="tab-mark-control-plane" >}}
|
|
{{< tab name="mark-control-plane" include="generated/kubeadm_init_phase_mark-control-plane.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
|
|
## kubeadm init phase bootstrap-token {#cmd-phase-bootstrap-token}
|
|
|
|
Use the following phase to configure bootstrap tokens.
|
|
|
|
{{< tabs name="tab-bootstrap-token" >}}
|
|
{{< tab name="bootstrap-token" include="generated/kubeadm_init_phase_bootstrap-token.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
|
|
## kubeadm init phase upload-config {#cmd-phase-upload-config}
|
|
|
|
You can use this command to upload the kubeadm configuration to your cluster.
|
|
Alternatively, you can use [kubeadm config](/docs/reference/setup-tools/kubeadm/kubeadm-config/).
|
|
|
|
{{< tabs name="upload-config" >}}
|
|
{{< tab name="upload-config" include="generated/kubeadm_init_phase_upload-config.md" />}}
|
|
{{< tab name="all" include="generated/kubeadm_init_phase_upload-config_all.md" />}}
|
|
{{< tab name="kubeadm" include="generated/kubeadm_init_phase_upload-config_kubeadm.md" />}}
|
|
{{< tab name="kubelet" include="generated/kubeadm_init_phase_upload-config_kubelet.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
|
|
## kubeadm init phase addon {#cmd-phase-addon}
|
|
|
|
You can install all the available addons with the `all` subcommand, or
|
|
install them selectively.
|
|
|
|
{{< tabs name="tab-addon" >}}
|
|
{{< tab name="addon" include="generated/kubeadm_init_phase_addon.md" />}}
|
|
{{< tab name="all" include="generated/kubeadm_init_phase_addon_all.md" />}}
|
|
{{< tab name="kube-proxy" include="generated/kubeadm_init_phase_addon_kube-proxy.md" />}}
|
|
{{< tab name="coredns" include="generated/kubeadm_init_phase_addon_coredns.md" />}}
|
|
{{< /tabs >}}
|
|
|
|
To use kube-dns instead of CoreDNS you have to pass a configuration file:
|
|
|
|
```bash
|
|
# for installing a DNS addon only
|
|
kubeadm init phase addon coredns --config=someconfig.yaml
|
|
# for creating a complete control plane node
|
|
kubeadm init --config=someconfig.yaml
|
|
# for listing or pulling images
|
|
kubeadm config images list/pull --config=someconfig.yaml
|
|
# for upgrades
|
|
kubeadm upgrade apply --config=someconfig.yaml
|
|
```
|
|
|
|
The file has to contain a [`DNS`](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta1#DNS) field in[`ClusterConfiguration`](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta1#ClusterConfiguration)
|
|
and also a type for the addon - `kube-dns` (default value is `CoreDNS`).
|
|
|
|
```yaml
|
|
apiVersion: kubeadm.k8s.io/v1beta1
|
|
kind: ClusterConfiguration
|
|
dns:
|
|
type: "kube-dns"
|
|
```
|
|
|
|
For more details on each field in the `v1beta1` configuration you can navigate to our
|
|
[API reference pages.] (https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta1)
|
|
|
|
## What's next
|
|
* [kubeadm init](/docs/reference/setup-tools/kubeadm/kubeadm-init/) to bootstrap a Kubernetes control-plane node
|
|
* [kubeadm join](/docs/reference/setup-tools/kubeadm/kubeadm-join/) to connect a node to the cluster
|
|
* [kubeadm reset](/docs/reference/setup-tools/kubeadm/kubeadm-reset/) to revert any changes made to this host by `kubeadm init` or `kubeadm join`
|
|
* [kubeadm alpha](/docs/reference/setup-tools/kubeadm/kubeadm-alpha/) to try experimental functionality
|