概要
运行此命令来搭建 Kubernetes 控制平面节点。
"init" 命令执行以下阶段:
preflight                    预检
certs                        生成证书
  /ca                          生成自签名根 CA 用于配置其他 kubernetes 组件
  /apiserver                   生成 apiserver 的证书
  /apiserver-kubelet-client    生成 apiserver 连接到 kubelet 的证书
  /front-proxy-ca              生成前端代理自签名 CA(扩展apiserver)
  /front-proxy-client          生成前端代理客户端的证书(扩展 apiserver)
  /etcd-ca                     生成 etcd 自签名 CA
  /etcd-server                 生成 etcd 服务器证书
  /etcd-peer                   生成 etcd 节点相互通信的证书
  /etcd-healthcheck-client     生成 etcd 健康检查的证书
  /apiserver-etcd-client       生成 apiserver 访问 etcd 的证书
  /sa                          生成用于签署服务帐户令牌的私钥和公钥
kubeconfig                   生成建立控制平面和管理所需的所有 kubeconfig 文件
  /admin                       生成一个 kubeconfig 文件供管理员使用以及供 kubeadm 本身使用
  /super-admin                 为超级管理员生成 kubeconfig 文件
  /kubelet                     为 kubelet 生成一个 kubeconfig 文件,*仅*用于集群引导
  /controller-manager          生成 kubeconfig 文件供控制器管理器使用
  /scheduler                   生成 kubeconfig 文件供调度程序使用
etcd                         为本地 etcd 生成静态 Pod 清单文件
  /local                       为本地单节点本地 etcd 实例生成静态 Pod 清单文件
control-plane                生成建立控制平面所需的所有静态 Pod 清单文件
  /apiserver                   生成 kube-apiserver 静态 Pod 清单
  /controller-manager          生成 kube-controller-manager 静态 Pod 清单
  /scheduler                   生成 kube-scheduler 静态 Pod 清单
kubelet-start                写入 kubelet 设置并启动(或重启)kubelet
wait-control-plane           等待控制平面启动
upload-config                将 kubeadm 和 kubelet 配置上传到 ConfigMap
  /kubeadm                     将 kubeadm 集群配置上传到 ConfigMap
  /kubelet                     将 kubelet 组件配置上传到 ConfigMap
upload-certs                 将证书上传到 kubeadm-certs
mark-control-plane           将节点标记为控制面
bootstrap-token              生成用于将节点加入集群的引导令牌
kubelet-finalize             在 TLS 引导后更新与 kubelet 相关的设置
addon                        安装用于通过一致性测试所需的插件
  /coredns                     将 CoreDNS 插件安装到 Kubernetes 集群
  /kube-proxy                  将 kube-proxy 插件安装到 Kubernetes 集群
show-join-command            显示控制平面和工作节点的加入命令
kubeadm init [flags]
选项
| --apiserver-advertise-address string | |
| API 服务器所公布的其正在监听的 IP 地址。如果未设置,则使用默认网络接口。 | |
| --apiserver-bind-port int32 默认值:6443 | |
| API 服务器绑定的端口。 | |
| --apiserver-cert-extra-sans strings | |
| 用于 API Server 服务证书的可选附加主题备用名称(SAN)。 可以是 IP 地址和 DNS 名称。 | |
| --cert-dir string 默认值:"/etc/kubernetes/pki" | |
| 保存和存储证书的路径。 | |
| --certificate-key string | |
| 用于加密 kubeadm-certs Secret 中的控制平面证书的密钥。 证书密钥为十六进制编码的字符串,是大小为 32 字节的 AES 密钥。 | |
| --config string | |
| kubeadm 配置文件的路径。 | |
| --control-plane-endpoint string | |
| 为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
| --cri-socket string | |
| 要连接的 CRI 套接字的路径。如果为空,则 kubeadm 将尝试自动检测此值; 仅当安装了多个 CRI 或具有非标准 CRI 套接字时,才使用此选项。 | |
| --dry-run | |
| 不做任何更改;只输出将要执行的操作。 | |
| --feature-gates string | |
| 
一组用来描述各种特性门控的键值(key=value)对。选项是: | |
| -h, --help | |
| init 操作的帮助命令。 | |
| --ignore-preflight-errors strings | |
| 错误将显示为警告的检查列表;例如:'IsPrivilegedUser,Swap'。 取值为 'all' 时将忽略检查中的所有错误。 | |
| --image-repository string 默认值:"registry.k8s.io" | |
| 选择用于拉取控制平面镜像的容器仓库。 | |
| --kubernetes-version string 默认值:"stable-1" | |
| 为控制平面选择一个特定的 Kubernetes 版本。 | |
| --node-name string | |
| 指定节点的名称。 | |
| --patches string | |
| 它包含名为 "target[suffix][+patchtype].extension" 的文件的目录的路径。 例如,"kube-apiserver0+merge.yaml" 或仅仅是 "etcd.json"。 "target" 可以是 "kube-apiserver"、"kube-controller-manager"、"kube-scheduler"、 "etcd"、"kubeletconfiguration" 之一。 "patchtype" 可以是 "strategic"、"merge" 或者 "json" 之一, 并且它们与 kubectl 支持的补丁格式相同。 默认的 "patchtype" 是 "strategic"。 "extension" 必须是 "json" 或 "yaml"。 "suffix" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。 | |
| --pod-network-cidr string | |
| 指明 Pod 网络可以使用的 IP 地址段。如果设置了这个参数, 控制平面将会为每一个节点自动分配 CIDR。 | |
| --service-cidr string 默认值:"10.96.0.0/12" | |
| 为服务的虚拟 IP 地址另外指定 IP 地址段。 | |
| --service-dns-domain string 默认值:"cluster.local" | |
| 为服务另外指定域名,例如:"myorg.internal"。 | |
| --skip-certificate-key-print | |
| 不要打印用于加密控制平面证书的密钥。 | |
| --skip-phases strings | |
| 要跳过的阶段列表。 | |
| --skip-token-print | |
| 跳过打印 'kubeadm init' 生成的默认引导令牌。 | |
| --token string | |
| 
这个令牌用于建立控制平面节点与工作节点间的双向通信。
格式为  | |
| --token-ttl duration 默认值:24h0m0s | |
| 令牌被自动删除之前的持续时间(例如 1s,2m,3h)。如果设置为 '0',则令牌将永不过期。 | |
| --upload-certs | |
| 将控制平面证书上传到 kubeadm-certs Secret。 | |
从父命令继承的选项
| --rootfs string | |
| [实验] 到'真实'主机根文件系统的路径。 | |