创建 Kubeadm
- 1:
- 2:
- 3:
- 4:
- 5:
- 5.1:
- 5.2:
- 5.3:
- 5.4:
- 5.5:
- 5.6:
- 5.7:
- 5.8:
- 5.9:
- 5.10:
- 5.11:
- 5.12:
- 5.13:
- 5.14:
- 5.15:
- 5.16:
- 5.17:
- 5.18:
- 5.19:
- 5.20:
- 5.21:
- 5.22:
- 5.23:
- 5.24:
- 5.25:
- 5.26:
- 5.27:
- 5.28:
- 5.29:
- 5.30:
- 5.31:
- 5.32:
- 5.33:
- 5.34:
- 5.35:
- 5.36:
- 5.37:
- 5.38:
- 5.39:
- 5.40:
- 5.41:
- 5.42:
- 5.43:
- 5.44:
- 5.45:
- 5.46:
- 6:
- 7:
- 8:
- 9:
- 10:
- 11:
- 12:
1 -
kubeadm:轻松创建一个安全的 Kubernetes 集群
摘要
┌──────────────────────────────────────────────────────────┐
│ KUBEADM │
│ 轻松创建一个安全的 Kubernetes 集群 │
│ │
│ 给我们反馈意见的地址: │
│ https://github.com/kubernetes/kubeadm/issues │
└──────────────────────────────────────────────────────────┘
用途示例:
创建一个有两台机器的集群,包含一个控制平面节点(用来控制集群) 和一个工作节点(运行你的 Pod 和 Deployment 等工作负载)。
┌──────────────────────────────────────────────────────────┐
│ 在第一台机器上: │
├──────────────────────────────────────────────────────────┤
│ control-plane# kubeadm init │
└──────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────┐
│ 在第二台机器上: │
├──────────────────────────────────────────────────────────┤
│ worker# kubeadm join <arguments-returned-from-init>│
└──────────────────────────────────────────────────────────┘
你可以重复第二步,向集群添加更多机器。
选项
-h, --help | |
kubeadm 操作的帮助信息。 | |
--rootfs string | |
到“真实”主机根文件系统的路径。设置此参数将导致 kubeadm 切换到所提供的路径。 |
2 -
处理 Kubernetes 证书的相关命令。
概要
处理 Kubernetes 证书相关的命令。
kubeadm certs [flags]
选项
-h, --help | |
certs 操作的帮助命令。 |
从父命令继承的选项
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
2.1 -
生成证书密钥。
概要
该命令将打印出可以与 "init" 命令一起使用的安全的随机生成的证书密钥。
你也可以使用 kubeadm init --upload-certs
而无需指定证书密钥;
此命令将为你生成并打印一个证书密钥。
kubeadm certs certificate-key [flags]
选项
-h, --help | |
certificate-key 操作的帮助命令。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.2 -
为一个 Kubernetes 集群检查证书的到期时间。
概要
检查 kubeadm 管理的本地 PKI 中证书的到期时间。
kubeadm certs check-expiration [flags]
选项
--allow-missing-template-keys 默认值:true | |
如果为 true,忽略模板中缺少某字段或映射键的错误。仅适用于 golang 和 jsonpath 输出格式。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存证书的路径。 | |
--config string | |
到 kubeadm 配置文件的路径。 | |
-o, --experimental-output string 默认值:"text" | |
输出格式。可选值为: text|json|yaml|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file。 | |
-h, --help | |
check-expiration 操作的帮助命令。 | |
--kubeconfig string 默认为:"/etc/kubernetes/admin.conf" | |
在和集群连接时使用该 kubeconfig 文件。 如果此标志未被设置,那么将会在一些标准的位置去搜索存在的 kubeconfig 文件。 | |
--show-managed-fields | |
如果为 true,在以 JSON 或 YAML 格式打印对象时保留 managedFields。 |
从父命令继承的选项
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
2.3 -
生成密钥和证书签名请求。
概要
为运行控制平面所需的所有证书生成密钥和证书签名请求(CSR)。该命令会生成部分 kubeconfig 文件, 其中 "users > user > client-key-data" 字段包含私钥数据,并为每个 kubeconfig 文件创建一个随附的 ".csr" 文件。
此命令设计用于 Kubeadm 外部 CA 模式。 它生成你可以提交给外部证书颁发机构进行签名的 CSR。
你需要使用 ".crt" 作为文件扩展名将 PEM 编码的签名证书与密钥文件一起保存。 或者,对于 kubeconfig 文件,PEM 编码的签名证书应使用 base64 编码, 并添加到 "users > user > client-certificate-data" 字段。
kubeadm certs generate-csr [flags]
示例
# 以下命令将为所有控制平面证书和 kubeconfig 文件生成密钥和 CSR:
kubeadm certs generate-csr --kubeconfig-dir /tmp/etc-k8s --cert-dir /tmp/etc-k8s/pki
选项
--cert-dir string | |
保存证书的路径。 | |
--config string | |
到 kubeadm 配置文件的路径。 | |
-h, --help | |
generate-csr 操作的帮助命令。 | |
--kubeconfig-dir string 默认值:"/etc/kubernetes" | |
保存 kubeconfig 文件的路径。 |
从父命令继承的选项
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
2.4 -
为 Kubernetes 集群更新证书
概要
此命令并非设计用来单独运行。请参阅可用子命令列表。
kubeadm certs renew [flags]
选项
-h, --help | |
renew 操作的帮助命令 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.5 -
续订 kubeconfig 文件中嵌入的证书,供管理员和 kubeadm 自身使用。
概要
续订 kubeconfig 文件中嵌入的证书,供管理员和 kubeadm 自身使用。
无论证书的到期日期如何,续订都是无条件进行的;SAN 等额外属性将基于现有文件/证书,因此无需重新提供它们。
默认情况下,续订会尝试使用由 kubeadm 管理的本地 PKI 中的证书机构;作为替代方案, 也可以使用 K8s 证书 API 进行证书续订,或者(作为最后一种选择)生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发更新的证书,以防证书文件在其他地方使用。
kubeadm certs renew admin.conf [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存证书的路径。 | |
--config string | |
到 kubeadm 配置文件的路径。 | |
-h, --help | |
admin.conf 操作的帮助命令。 | |
--kubeconfig string Default: "/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--use-api | |
使用 Kubernetes 证书 API 续订证书。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.6 -
续订所有可用证书。
概要
续订运行控制平面所需的所有已知证书。续订是无条件进行的,与到期日期无关。续订也可以单独运行以进行更多控制。
kubeadm certs renew all [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
all 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--use-api | |
使用 Kubernetes 证书 API 续订证书。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.7 -
续订 apiserver 用于访问 etcd 的证书。
概要
续订 apiserver 用于访问 etcd 的证书。
无论证书的到期日期如何,续订都会无条件地进行;SAN 等额外属性将基于现有文件/证书,因此无需重新提供它们。
默认情况下,续订尝试使用在 kubeadm 所管理的本地 PKI 中的证书颁发机构;作为替代方案, 可以使用 K8s 证书 API 进行证书更新,或者作为最后一个选择来生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发更新的证书,以防文件在其他地方使用。
kubeadm certs renew apiserver-etcd-client [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
apiserver-etcd-client 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.8 -
续订 apiserver 用于连接 kubelet 的证书。
概要
续订 apiserver 用于连接 kubelet 的证书。
无论证书的到期日期如何,续订都会无条件地进行;SAN 等额外属性将基于现有文件/证书,因此无需重新提供它们。
默认情况下,续订尝试使用位于 kubeadm 所管理的本地 PKI 中的证书颁发机构;作为替代方案, 也可能调用 K8s 证书 API 进行证书更新;亦或者,作为最后一个选择,生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发更新的证书,以防文件在其他地方使用。
kubeadm certs renew apiserver-kubelet-client [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
apiserver-kubelet-client 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--use-api | |
使用 Kubernetes 证书 API 续订证书。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.9 -
续订用于提供 Kubernetes API 的证书。
概要
续订用于提供 Kubernetes API 的证书。
无论证书的到期日期如何,续订都会无条件地进行;SAN 等额外属性将基于现有文件/证书,因此无需重新提供它们。
默认情况下,续订尝试在 kubeadm 管理的本地 PKI 中使用证书颁发机构;作为替代方案, 可以使用 K8s 证书 API 进行证书更新,或者作为最后一个选择来生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发更新的证书,以防文件在其他地方使用。
kubeadm certs renew apiserver [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
apiserver 子操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.10 -
续订 kubeconfig 文件中嵌入的证书,以供控制器管理器(Controller Manager)使用。
概要
续订 kubeconfig 文件中嵌入的证书,以供控制器管理器(Controller Manager)使用。
续订无条件地进行,与证书的到期日期无关;SAN 等额外属性将基于现有的文件/证书,因此无需重新提供它们。
默认情况下,续订会尝试使用 kubeadm 管理的本地 PKI 中的证书颁发机构;作为替代方案, 可以使用 K8s 证书 API 进行证书续订;亦或者,作为最后一种选择,生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发更新的证书,以防文件在其他地方使用。
kubeadm certs renew controller-manager.conf [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
controller-manager.conf 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--use-api | |
使用 Kubernetes 证书 API 续订证书。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.11 -
续订存活态探针的证书,用于对 etcd 执行健康检查。
概要
续订存活态探针的证书,用于对 etcd 执行健康检查。
无论证书的到期日期如何,续订都是无条件进行的;SAN 等额外属性将基于现有文件/证书,因此无需重新提供它们。
默认情况下,续订会尝试使用由 kubeadm 管理的本地 PKI 中的证书机构;作为替代方案, 也可以使用 K8s certificate API 进行证书续订,或者(作为最后一种选择)生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发更新的证书,以防证书文件在其他地方使用。
kubeadm certs renew etcd-healthcheck-client [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
etcd-healthcheck-client 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.12 -
续订 etcd 节点间用来相互通信的证书。
概要
续订 etcd 节点间用来相互通信的证书。
无论证书的到期日期如何,续订都是无条件进行的;SAN 等额外属性将基于现有文件/证书,因此无需重新提供它们。
默认情况下,续订会尝试使用由 kubeadm 管理的本地 PKI 中的证书机构; 作为替代方案,也可以使用 K8s certificate API 进行证书续订,或者(作为最后一种选择)生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发续订的证书,以防证书文件在其他地方使用。
kubeadm certs renew etcd-peer [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
etcd-peer 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--use-api |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.13 -
续订用于提供 etcd 服务的证书。
概要
续订用于提供 etcd 服务的证书。
续订无条件地进行,与证书的到期日期无关;SAN 等额外属性将基于现有的文件/证书,因此无需重新提供它们。
默认情况下,续订会尝试在 kubeadm 管理的本地 PKI 中使用证书颁发机构;作为替代方案, 可以使用 K8s 证书 API 进行证书续订,或者作为最后一种选择来生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发续订的证书,以防文件在其他地方使用。
kubeadm certs renew etcd-server [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
etcd-server 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--use-api |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.14 -
为前端代理客户端续订证书。
概要
为前端代理客户端续订证书。
无论证书的到期日期如何,续订都会无条件地进行;SAN 等额外属性将基于现有文件/证书,因此无需重新提供它们。
默认情况下,续订尝试使用位于 kubeadm 所管理的本地 PKI 中的证书颁发机构;作为替代方案, 也可以使用 K8s certificate API 进行证书续订;亦或者,作为最后一种方案,生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发更新的证书,以防文件在其他地方使用。
kubeadm certs renew front-proxy-client [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
front-proxy-client 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--use-api | |
使用 Kubernetes certificate API 续订证书。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.15 -
续订 kubeconfig 文件中嵌入的证书,以供调度管理器使用。
概要
续订 kubeconfig 文件中嵌入的证书,以供调度管理器使用。
续订无条件地进行,与证书的到期日期无关;SAN 等额外属性将基于现有的文件/证书,因此无需重新提供它们。
默认情况下,续订会尝试使用在 kubeadm 所管理的本地 PKI 中的证书颁发机构;作为替代方案, 也可以使用 K8s certificate API 进行证书续订;亦或者,作为最后一种选择,生成 CSR 请求。
续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发更新的证书,以防文件在其他地方使用。
kubeadm certs renew scheduler.conf [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
scheduler.conf 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
2.16 -
为 super-admin 对嵌入于 kubeconfig 文件中的证书续期。
概要
为 super-admin 对嵌入于 kubeconfig 文件中的证书续期。
续期操作将无条件进行,不论证书的到期日期是何时;诸如 SAN 之类的额外属性将基于现有文件/证书,无需重新提供。
默认情况下,续期会尝试使用由 kubeadm 管理的本地 PKI 中的证书颁发机构; 作为替代方案,可以使用 K8s 证书 API 进行证书续期,或者作为最后的选项,生成一个 CSR 请求。
续期后,为了使更改生效,需要重启控制平面组件,并且如果该文件在其他地方使用,最终需要重新分发续期后的证书。
kubeadm certs renew super-admin.conf [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-h, --help | |
super-admin.conf 的帮助信息。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。 如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
[实验性功能] 指向‘真实’宿主根文件系统的路径。 |
3 -
为指定的 Shell(Bash 或 Zsh)输出 Shell 补全代码。
概要
为指定的 Shell(Bash 或 Zsh)输出 Shell 补全代码。 必须激活 Shell 代码以提供交互式 kubeadm 命令补全。 这可以通过加载 .bash_profile 文件完成。
注意:此功能依赖于 bash-completion
框架。
在 Mac 上使用 Homebrew 安装:
brew install bash-completion
安装后,必须激活 bash_completion。 这可以通过在 .bash_profile 文件中添加下面的命令行来完成:
source $(brew --prefix)/etc/bash_completion
如果在 Linux 上没有安装 bash-completion
,请通过你的发行版的包管理器安装 bash-completion
软件包。
Zsh 用户注意事项:[1] Zsh 自动补全仅在 v5.2 及以上版本中支持。
kubeadm completion SHELL [flags]
示例
# 在 Mac 上使用 Homebrew 安装 bash completion
brew install bash-completion
printf "\n# Bash completion support\nsource $(brew --prefix)/etc/bash_completion\n" >> $HOME/.bash_profile
source $HOME/.bash_profile
# 将 bash 版本的 kubeadm 自动补全代码加载到当前 Shell 中
source <(kubeadm completion bash)
# 将 Bash 自动补全完成代码写入文件并且从 .bash_profile 文件加载它
printf "\n# Kubeadm shell completion\nsource '$HOME/.kube/kubeadm_completion.bash.inc'\n" >> $HOME/.bash_profile
source $HOME/.bash_profile
# 将 Zsh 版本的 kubeadm 自动补全代码加载到当前 Shell 中
source <(kubeadm completion zsh)
选项
-h, --help | |
completion 操作的帮助命令。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。设置此标志将导致 kubeadm 切换到所提供的路径。 |
4 -
管理持久化在 ConfigMap 中的 kubeadm 集群的配置。
概要
kube-system 命名空间里有一个名为 "kubeadm-config" 的 ConfigMap,kubeadm 用它来存储有关集群的内部配置。 kubeadm CLI v1.8.0+ 通过一个配置自动创建该 ConfigMap,这个配置是和 'kubeadm init' 共用的。 但是你如果使用 kubeadm v1.7.x 或更低的版本初始化集群,那么必须使用 'config upload' 命令创建此 ConfigMap。 这是必要的操作,目的是使 'kubeadm upgrade' 能够正确地配置升级后的集群。
kubeadm config [flags]
选项
-h, --help | |
config 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
4.1 -
与 kubeadm 使用的容器镜像交互
概要
与 kubeadm 使用的容器镜像交互。
kubeadm config images [flags]
选项
-h, --help | |
images 的帮助命令。 |
从父命令继承的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
4.2 -
打印 kubeadm 要使用的镜像列表。配置文件用于自定义镜像或镜像存储库。
概要
打印 kubeadm 要使用的镜像列表。配置文件用于自定义镜像或镜像存储库。
kubeadm config images list [flags]
选项
--allow-missing-template-keys 默认值:true | |
如果设置为 true,则在模板中缺少字段或哈希表的键时忽略模板中的任何错误。 仅适用于 golang 和 jsonpath 输出格式。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-o, --experimental-output string 默认值:"text" | |
输出格式:text|json|yaml|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file 其中之一。 | |
--feature-gates string | |
一组键值对(key=value),用于描述各种特性。这些选项是: | |
-h, --help | |
list 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择要从中拉取控制平面镜像的容器仓库。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择一个特定的 Kubernetes 版本。 | |
--show-managed-fields | |
如果为 true,则在以 JSON 或 YAML 格式打印对象时保留 managedFields。 |
从父命令继承的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--rootfs string | |
[实验] 到“真实”主机根文件系统的路径。 |
4.3 -
拉取 kubeadm 使用的镜像。
概要
拉取 kubeadm 使用的镜像。
kubeadm config images pull [flags]
选项
--config string | |
kubeadm 配置文件的路径。 | |
--cri-socket string | |
要连接的 CRI 套接字的路径。如果为空,则 kubeadm 将尝试自动检测此值;仅当安装了多个 CRI 或具有非标准 CRI 插槽时,才使用此选项。 | |
--feature-gates string | |
一系列键值对(key=value),用于描述各种特性。可选项是: EtcdLearnerMode=true|false (BETA - 默认值=true) PublicKeysECDSA=true|false (DEPRECATED - 默认值=false) RootlessControlPlane=true|false (ALPHA - 默认值=false) UpgradeAddonsBeforeControlPlane=true|false (DEPRECATED - 默认值=false) WaitForAllControlPlaneComponents=true|false (ALPHA - 默认值=false) | |
-h, --help | |
pull 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择用于拉取控制平面镜像的容器仓库。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择一个特定的 Kubernetes 版本。 |
从父命令继承的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
4.4 -
从文件中读取旧版本的 kubeadm 配置的 API 类型,并为新版本输出类似的配置对象
概要
此命令允许你在 CLI 工具中将本地旧版本的配置对象转换为最新支持的版本,而无需变更集群中的任何内容。 在此版本的 kubeadm 中,支持以下 API 版本:
- kubeadm.k8s.io/v1beta3
因此,无论你在此处传递 --old-config 参数的版本是什么,当写入到 stdout 或 --new-config (如果已指定)时, 都会读取、反序列化、默认、转换、验证和重新序列化 API 对象。
换句话说,如果你将此文件传递给 "kubeadm init",则该命令的输出就是 kubeadm 实际上在内部读取的内容。
kubeadm config migrate [flags]
选项
-h, --help | |
migrate 操作的帮助信息。 | |
--new-config string | |
使用新的 API 版本生成的 kubeadm 配置文件的路径。这个路径是可选的。如果没有指定,输出将被写到 stdout。 | |
--old-config string | |
使用旧 API 版本且应转换的 kubeadm 配置文件的路径。此参数是必需的。 |
从父命令继承的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果未设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
4.5 -
打印配置
概要
此命令打印子命令所提供的配置信息。相关细节可参阅: https://pkg.go.dev/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm#section-directories
kubeadm config print [flags]
选项
-h, --help | |
print 命令的帮助信息。 |
从父命令继承而来的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如此标志未设置,将在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
4.6 -
打印用于 'kubeadm init' 的默认 init 配置。
概要
此命令打印对象,例如用于 'kubeadm init' 的默认 init 配置对象。
请注意,Bootstrap Token 字段之类的敏感值已替换为 "abcdef.0123456789abcdef" 之类的占位符值以通过验证,但不执行创建令牌的实际计算。
kubeadm config print init-defaults [flags]
选项
--component-configs strings | |
以逗号分隔的组件配置 API 对象的列表,打印其默认值。可用值:[KubeProxyConfiguration KubeletConfiguration]。 如果未设置此参数,则不会打印任何组件配置。 | |
-h, --help | |
init-defaults 操作的帮助命令。 |
从父命令继承的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
4.7 -
打印默认的节点添加配置,该配置可用于 'kubeadm join' 命令。
概要
此命令打印对象,例如用于 'kubeadm join' 的默认 join 配置对象。
请注意,诸如启动引导令牌字段之类的敏感值已替换为 "abcdef.0123456789abcdef" 之类的占位符值以通过验证, 但不执行创建令牌的实际计算。
kubeadm config print join-defaults [flags]
选项
-h, --help | |
join-defaults 操作的帮助命令。 |
从父命令继承的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
4.8 -
打印默认的 reset 配置,该配置可用于 'kubeadm reset' 命令。
概要
此命令打印 'kubeadm reset' 所用的默认 reset 配置等这类对象。
请注意,诸如启动引导令牌(Bootstrap Token)字段这类敏感值已替换为 "abcdef.0123456789abcdef" 这类占位符值用来通过合法性检查,但不执行创建令牌的实际计算。
kubeadm config print reset-defaults [flags]
选项
-h, --help | |
reset-defaults 操作的帮助命令。 |
从父命令继承的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时所使用的 kubeconfig 文件。 如果该参数未被设置,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--rootfs string | |
[试验性] 指向“真实”主机根文件系统的路径。 |
4.9 -
打印可用于 kubeadm upgrade
的默认升级配置。
概要
此命令打印 kubeadm upgrade
所用的默认升级配置等这类对象。
请注意,诸如启动引导令牌(Bootstrap Token)字段这类敏感值已替换为 "abcdef.0123456789abcdef" 这类占位符值用来通过合法性检查,但不执行创建令牌的实际计算。
kubeadm config print upgrade-defaults [flags]
选项
-h, --help | |
upgrade-defaults 操作的帮助命令。 |
从父命令继承的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时所使用的 kubeconfig 文件。 如果该参数未被设置,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
4.10 -
读取包含 kubeadm 配置 API 的文件,并报告所有验证问题。
概要
这个命令允许你验证 kubeadm 配置 API 文件并报告所有警告和错误。 如果没有错误,退出状态将为零;否则,将为非零。 诸如未知 API 字段等任何解包问题都会触发错误。 未知的 API 版本和具有无效值的字段也会触发错误。 根据输入文件的内容,可能会报告任何其他错误或警告。
在这个版本的 kubeadm 中,支持以下 API 版本:
- kubeadm.k8s.io/v1beta3
kubeadm config validate [flags]
选项
--allow-experimental-api | |
允许验证试验性的、未发布的 API。 | |
--config string | |
指向 kubeadm 配置文件的路径。 | |
-h, --help | |
validate 的帮助命令。 |
从父命令继承而来的选项
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
在与集群通信时要使用的 kubeconfig 文件。 如果此标志未被设置,则会在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--rootfs string | |
[试验性] 指向“真实”主机根文件系统的路径。 |
5 -
运行此命令以安装 Kubernetes 控制平面。
概要
运行此命令来搭建 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
upload-config 将 kubeadm 和 kubelet 配置上传到 ConfigMap
/kubeadm 将 kubeadm 集群配置上传到 ConfigMap
/kubelet 将 kubelet 组件配置上传到 ConfigMap
upload-certs 将证书上传到 kubeadm-certs
mark-control-plane 将节点标记为控制面
bootstrap-token 生成用于将节点加入集群的引导令牌
kubelet-finalize 在 TLS 引导后更新与 kubelet 相关的设置
/experimental-cert-rotation 启用 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)对。选项是: EtcdLearnerMode=true|false (BETA - 默认值=true) PublicKeysECDSA=true|false (DEPRECATED - 默认值=false) RootlessControlPlane=true|false (ALPHA - 默认值=false) UpgradeAddonsBeforeControlPlane=true|false (DEPRECATED - 默认值=false) WaitForAllControlPlaneComponents=true|false (ALPHA - 默认值=false) | |
-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 | |
这个令牌用于建立控制平面节点与工作节点间的双向通信。 格式为 [a-z0-9]{6}.[a-z0-9]{16} - 示例:abcdef.0123456789abcdef | |
--token-ttl duration 默认值:24h0m0s | |
令牌被自动删除之前的持续时间(例如 1s,2m,3h)。如果设置为 '0',则令牌将永不过期。 | |
--upload-certs | |
将控制平面证书上传到 kubeadm-certs Secret。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.1 -
使用此命令可以调用 init 工作流程的单个阶段。
概要
使用此命令可以调用 init 工作流程的单个阶段。
选项
-h, --help | |
phase 操作的帮助命令。 |
继承于父命令的选择项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.2 -
安装必要的插件以通过一致性测试。
概要
此命令并非设计用来单独运行。请参阅可用子命令列表。
kubeadm init phase addon [flags]
选项
-h, --help | |
addon 操作的帮助命令。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.3 -
安装所有插件。
概要
安装所有插件(addon)。
kubeadm init phase addon all [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,则将使用默认网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
API 服务器绑定的端口。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
--feature-gates string | |
一组键值对(key=value),描述了各种特征。选项包括: EtcdLearnerMode=true|false (BETA - 默认值=true) PublicKeysECDSA=true|false (DEPRECATED - 默认值=false) RootlessControlPlane=true|false (ALPHA - 默认值=false) UpgradeAddonsBeforeControlPlane=true|false (DEPRECATED - 默认值=false) WaitForAllControlPlaneComponents=true|false (ALPHA - 默认值=false) | |
-h, --help | |
all 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择用于拉取控制平面镜像的容器仓库。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 | |
--pod-network-cidr string | |
指定 Pod 网络的 IP 地址范围。如果已设置,控制平面将自动为每个节点分配 CIDR。 | |
--service-cidr string 默认值:"10.96.0.0/12" | |
为服务 VIP 使用 IP 地址的其他范围。 | |
--service-dns-domain string 默认值:"cluster.local" | |
为服务使用其他域名,例如 "myorg.internal"。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.4 -
将 CoreDNS 插件安装到 Kubernetes 集群。
概要
通过 API 服务器安装 CoreDNS 附加组件。请注意,即使 DNS 服务器已部署,在安装 CNI 之前 DNS 服务器不会被调度执行。
kubeadm init phase addon coredns [flags]
选项
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
--feature-gates string | |
一组用来描述各种特性门控的键值对(key=value)。选项是: | |
-h, --help | |
coredns 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择用于拉取控制平面镜像的容器仓库。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 | |
--print-manifest | |
向 STDOUT 输出插件清单,而不是安装这些插件。 | |
--service-cidr string 默认值:"10.96.0.0/12" | |
为服务 VIP 选择 IP 地址范围。 | |
--service-dns-domain string 默认值:"cluster.local" | |
为服务使用其它域名,例如:"myorg.internal"。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.5 -
将 kube-proxy 插件安装到 Kubernetes 集群
概要
通过 API 服务器安装 kube-proxy 附加组件。
kubeadm init phase addon kube-proxy [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,则将使用默认网络接口。 | |
--apiserver-bind-port int32 默认值: 6443 | |
API 服务器绑定的端口。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
kube-proxy 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择用于拉取控制平面镜像的容器仓库。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 | |
--pod-network-cidr string | |
指定 Pod 网络的 IP 地址范围。如果已设置,控制平面将自动为每个节点分配 CIDR。 | |
--print-manifest | |
向 STDOUT 打印插件清单,而非安装这些插件。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.6 -
生成用于将节点加入集群的引导令牌
概要
启动引导令牌(bootstrap token)用于在即将加入集群的节点和控制平面节点之间建立双向信任。
该命令使启动引导令牌(bootstrap token)所需的所有配置生效,然后创建初始令牌。
kubeadm init phase bootstrap-token [flags]
示例
# 进行所有引导令牌配置,并创建一个初始令牌,功能上与 kubeadm init 生成的令牌等效。
kubeadm init phase bootstrap-token
选项
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
bootstrap-token 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--skip-token-print | |
跳过打印 'kubeadm init' 生成的默认引导令牌。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.7 -
证书生成。
概要
此命令不应单独运行。请参阅可用子命令列表。
kubeadm init phase certs [flags]
选项
-h, --help | |
certs 操作的帮助命令。 |
从父指令中继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.8 -
生成所有证书。
概要
生成所有证书。
kubeadm init phase certs all [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,将使用默认网络接口。 | |
--apiserver-cert-extra-sans strings | |
用于 API 服务器服务证书的可选额外替代名称(SAN)。可以同时使用 IP 地址和 DNS 名称。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
证书的存储路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
all 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 | |
--service-cidr string 默认值:"10.96.0.0/12" | |
VIP 服务使用其它的 IP 地址范围。 | |
--service-dns-domain string 默认值:"cluster.local" | |
服务使用其它的域名,例如:"myorg.internal"。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.9 -
生成 apiserver 用来访问 etcd 的证书。
概要
生成 apiserver 用于访问 etcd 的证书,并将其保存到 apiserver-etcd-client.crt 和 apiserver-etcd-client.key 文件中。
如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。
kubeadm init phase certs apiserver-etcd-client [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
证书的存储路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
apiserver-etcd-client 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.10 -
生成供 API 服务器连接 kubelet 的证书。
概要
生成供 API 服务器连接 kubelet 的证书,并将其保存到 apiserver-kubelet-client.crt 和 apiserver-kubelet-client.key 文件中。
如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。
kubeadm init phase certs apiserver-kubelet-client [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
apiserver-kubelet-client 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs string | |
[实验] 指向宿主机上的 '实际' 根文件系统的路径。 |
5.11 -
生成用于服务 Kubernetes API 的证书。
概要
生成用于服务 Kubernetes API 的证书,并将其保存到 apiserver.crt 和 apiserver.key 文件中。
如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。
kubeadm init phase certs apiserver [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,则使用默认的网络接口。 | |
--apiserver-cert-extra-sans strings | |
用于 API Server 服务证书的可选附加主体备用名称(SAN)。可以是 IP 地址和 DNS 名称。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
证书的存储路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
apiserver 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定特定的 Kubernetes 版本。 | |
--service-cidr string 默认值:"10.96.0.0/12" | |
指定服务 VIP 可使用的其他 IP 地址段。 | |
--service-dns-domain string 默认值:"cluster.local" | |
为服务使用其他域名,例如 "myorg.internal"。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.12 -
生成自签名的 Kubernetes CA 以便为其他 Kubernetes 组件提供身份标识。
概要
生成自签名的 Kubernetes CA 以便为其他 Kubernetes 组件提供身份标识,并将其保存到 ca.crt 和 ca.key 文件中。
如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。
kubeadm init phase certs ca [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
证书的存储路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
ca 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.13 -
生成用于为 etcd 设置身份的自签名 CA。
概要
生成用于为 etcd 设置身份的自签名 CA,并将其保存到 etcd/ca.crt 和 etcd/ca.key 文件中。
如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。
kubeadm init phase certs etcd-ca [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
证书的存储路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
etcd-ca 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.14 -
生成用于 etcd 健康检查的活跃性探针的证书。
概要
生成用于 etcd 健康检查的活跃性探针的证书,并将其保存到 etcd/healthcheck-client.crt 和 etcd/healthcheck-client.key 文件中。
如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。
kubeadm init phase certs etcd-healthcheck-client [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
证书存储的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
etcd-healthcheck-client 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.15 -
生成 etcd 节点相互通信的证书。
概要
生成 etcd 节点相互通信的证书,并将其保存到 etcd/peer.crt 和 etcd/peer.key 文件中。
默认 SAN 为 localhost、127.0.0.1、127.0.0.1、:: 1
如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。
kubeadm init phase certs etcd-peer [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
etcd-peer 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.16 -
生成用于提供 etcd 服务的证书。
概要
生成用于提供 etcd 服务的证书,并将其保存到 etcd/server.crt 和 etcd/server.key 文件中。
默认 SAN 为 localhost、127.0.0.1、127.0.0.1、:: 1
如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。
kubeadm init phase certs etcd-server [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
etcd-server 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.17 -
生成自签名 CA 来提供前端代理的身份。
概要
生成自签名 CA 来提供前端代理的身份,并将其保存到 front-proxy-ca.cert 和 front-proxy-ca.key 文件中。
如果两个文件都已存在,kubeadm 将跳过生成步骤并将使用现有文件。
kubeadm init phase certs front-proxy-ca [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
front-proxy-ca 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.18 -
为前端代理客户端生成证书。
概要
为前端代理客户端生成证书,并将其保存到 front-proxy-client.crt 和 front-proxy-client.key 文件中。
如果两个文件都已存在,kubeadm 将跳过生成步骤并将使用现有文件。
kubeadm init phase certs front-proxy-client [flags]
选项
--cert-dir string 默认:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
front-proxy-client 操作的帮助命令。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.19 -
生成用来签署服务账号令牌的私钥及其公钥。
概要
生成用来签署服务账号令牌的私钥及其公钥,并将其保存到 sa.key 和 sa.pub 文件中。
如果两个文件都已存在,则 kubeadm 会跳过生成步骤,而将使用现有文件。
kubeadm init phase certs sa [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
-h, --help | |
sa 操作的帮助命令。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.20 -
生成建立控制平面所需的静态 Pod 清单文件。
概要
此命令并非设计用来单独运行。请参阅可用子命令列表。
kubeadm init phase control-plane [flags]
选项
-h, --help | |
control-plane 操作的帮助命令。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.21 -
生成所有静态 Pod 清单文件。
概要
生成所有的静态 Pod 清单文件。
kubeadm init phase control-plane all [flags]
示例
# 为控制平面组件生成静态 Pod 清单文件,其功能等效于 kubeadm init 生成的文件。
kubeadm init phase control-plane all
# 使用从某配置文件中读取的选项为生成静态 Pod 清单文件。
kubeadm init phase control-plane all --config config.yaml
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,将使用默认的网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
API 服务器要绑定的端口。 | |
--apiserver-extra-args <逗号分割的 'key=value' 对> | |
形式为 <flagname>=<value> 的一组额外参数,用来传递给 API 服务器, 或者覆盖其默认配置值。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面选择一个稳定的 IP 地址或者 DNS 名称。 | |
--controller-manager-extra-args <逗号分割的 'key=value' 对> | |
一组形式为 <flagname>=<value> 的额外参数,用来传递给控制管理器(Controller Manager) 或覆盖其默认设置值。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
--feature-gates string | |
一组用来描述各种特性门控的键值(key=value)对。选项是: | |
-h, --help | |
all 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择用于拉取控制平面镜像的容器仓库。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择指定的 Kubernetes 版本。 | |
--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。 | |
--scheduler-extra-args <逗号分割的 'key=value' 对> | |
一组形式为 <flagname>=<value> 的额外参数,用来传递给调度器(Scheduler) 或覆盖其默认设置值。 | |
--service-cidr string 默认值:"10.96.0.0/12" | |
为服务 VIP 选择 IP 地址范围。 |
从父指令继承的选项
--rootfs string | |
[实验] 指向'真实'宿主机的根文件系统的路径。 |
5.22 -
生成 kube-apiserver 静态 Pod 清单。
概要
生成 kube-apiserver 静态 Pod 清单。
kubeadm init phase control-plane apiserver [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,将使用默认网络接口。 | |
--apiserver-bind-port int32 默认值: 6443 | |
要绑定到 API 服务器的端口。 | |
--apiserver-extra-args <逗号分隔的 'key=value' 对> | |
一组 <flagname>=<value> 形式的额外参数,用来传递给 API 服务器或者覆盖其默认参数配置。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
--feature-gates string | |
一组键值对,用于描述各种功能特性的特性门控。选项是: | |
-h, --help | |
apiserver 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择要从中拉取控制平面镜像的容器仓库。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 | |
--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" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。 | |
--service-cidr string 默认值:"10.96.0.0/12" | |
指定服务 VIP 使用 IP 地址的其他范围。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统路径。 |
5.23 -
生成 kube-controller-manager 静态 Pod 清单。
概要
生成 kube-controller-manager 静态 Pod 清单。
kubeadm init phase control-plane controller-manager [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--controller-manager-extra-args <comma-separated 'key=value' pairs> | |
一组 <flagname>=< 形式的额外参数,传递给控制器管理器(Controller Manager) 或者覆盖其默认配置值 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
controller-manager 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.ioo" | |
选择要从中拉取控制平面镜像的容器仓库。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 | |
--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 所支持的 patch 格式相匹配。默认的 "patchtype" 是 "strategic"。 "extension" 必须是 "json" 或 "yaml"。 "suffix" 是一个可选的字符串,用来确定按字母顺序排序时首先应用哪些 patch。 | |
--pod-network-cidr string | |
指定 Pod 网络的 IP 地址范围。如果设置,控制平面将自动为每个节点分配 CIDR。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.24 -
生成 kube-scheduler 静态 Pod 清单。
概要
生成 kube-scheduler 静态 Pod 清单。
kubeadm init phase control-plane scheduler [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
scheduler 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择要从中拉取控制平面镜像的容器仓库。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 | |
--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 所支持的 patch 格式相匹配。默认的 "patchtype" 是 "strategic"。 "extension" 必须是 "json" 或 "yaml"。 "suffix" 是一个可选的字符串,用来确定按字母顺序排序时首先应用哪些 patch。 | |
--scheduler-extra-args <逗号分隔的 'key=value' 键值对> | |
一组 <flagname>=<value> 形式的额外参数,用来传递给调度器或者覆盖其默认参数配置。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.25 -
为本地 etcd 生成静态 Pod 的清单文件。
概要
此命令并非设计用来单独运行。请参阅可用子命令列表。
kubeadm init phase etcd [flags]
选项
-h, --help | |
etcd 操作的帮助命令。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.26 -
为本地单节点 etcd 实例生成静态 Pod 清单文件。
概要
为本地单节点 etcd 实例生成静态 Pod 清单文件。
kubeadm init phase etcd local [flags]
示例
# 为 etcd 生成静态 Pod 清单文件,其功能等效于 kubeadm init 生成的文件。
kubeadm init phase etcd local
# 使用从配置文件读取的选项为 etcd 生成静态 Pod 清单文件。
kubeadm init phase etcd local --config config.yaml
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
local 操作的帮助命令。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择要从中拉取控制平面镜像的容器仓库。 | |
--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" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.27 -
生成所有建立控制平面和管理员(admin)所需的 kubeconfig 文件。
概要
此命令并非设计用来单独运行。请阅读可用子命令列表。
kubeadm init phase kubeconfig [flags]
选项
-h, --help | |
kubeconfig 操作的帮助命令 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.28 -
为管理员(admin)和 kubeadm 本身生成 kubeconfig 文件。
概要
为管理员和 kubeadm 本身生成 kubeconfig 文件,并将其保存到 admin.conf 文件中。
kubeadm init phase kubeconfig admin [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,则使用默认的网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
要绑定到 API 服务器的端口。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
admin 操作的帮助命令。 | |
--kubeconfig-dir string 默认值:"/etc/kubernetes" | |
kubeconfig 文件的保存路径。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.29 -
生成所有 kubeconfig 文件。
概要
生成所有 kubeconfig 文件。
kubeadm init phase kubeconfig all [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果没有设置,将使用默认的网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
要绑定到 API 服务器的端口。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
all 操作的帮助命令。 | |
--kubeconfig-dir string 默认值:"/etc/kubernetes" | |
kubeconfig 文件的保存路径。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定特定的 Kubernetes 版本。 | |
--node-name string | |
指定节点名称。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.30 -
生成控制器管理器要使用的 kubeconfig 文件。
概要
生成控制器管理器要使用的 kubeconfig 文件,并保存到 controller-manager.conf 文件中。
kubeadm init phase kubeconfig controller-manager [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,则使用默认的网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
要绑定到 API 服务器的端口。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | 为控制平面指定一个稳定的 IP 地址或 DNS 名称。 |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
controller-manager 操作的帮助命令。 | |
--kubeconfig-dir string 默认值:"/etc/kubernetes" | |
kubeconfig 文件的保存路径。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs 字符串 | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.31 -
为 kubelet 生成一个 kubeconfig 文件,仅仅用于集群引导目的。
概要
生成 kubelet 要使用的 kubeconfig 文件,并将其保存到 kubelet.conf 文件。
请注意,该操作目的是仅用于引导集群。在控制平面启动之后,应该从 CSR API 请求所有 kubelet 凭据。
kubeadm init phase kubeconfig kubelet [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,则使用默认的网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
要绑定到 API 服务器的端口。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
kubelet 操作的帮助命令。 | |
--kubeconfig-dir string 默认值:"/etc/kubernetes" | |
kubeconfig 文件的保存路径。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面选择特定的 Kubernetes 版本。 | |
--node-name string | |
指定节点的名称。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.32 -
生成调度器使用的 kubeconfig 文件。
概要
生成调度器(scheduler)要使用的 kubeconfig 文件,并保存到 scheduler.conf 文件中。
kubeadm init phase kubeconfig scheduler [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布的其正在监听的 IP 地址。如果未设置,则使用默认的网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
要绑定到 API 服务器的端口。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
scheduler 操作的帮助命令。 | |
--kubeconfig-dir string 默认值:"/etc/kubernetes" | |
kubeconfig 文件的保存路径。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定特定的 Kubernetes 版本。 |
继承于父命令的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.33 -
为 super-admin 生成一个 kubeconfig 文件。
概要
为 super-admin 生成一个 kubeconfig 文件,并将其保存到 super-admin.conf 文件中。
kubeadm init phase kubeconfig super-admin [flags]
选项
--apiserver-advertise-address string | |
API 服务器所公布其监听的 IP 地址。如果未设置,则使用默认的网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
API 服务器绑定的端口。 | |
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane-endpoint string | |
为控制平面指定一个稳定的 IP 地址或 DNS 名称。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
super-admin 的帮助信息。 | |
--kubeconfig-dir string 默认值:"/etc/kubernetes" | |
保存 kubeconfig 文件的路径。 | |
--kubernetes-version string 默认值:"stable-1" | |
为控制平面指定一个特定的 Kubernetes 版本。 |
从父命令继承的选项
--rootfs string | |
[实验性功能] 指向‘真实’宿主根文件系统的路径。 |
5.34 -
TLS 引导后更新与 kubelet 相关的设置
概要
TLS 引导后更新与 kubelet 相关的设置
kubeadm init phase kubelet-finalize [flags]
示例
# 在 TLS 引导后更新与 kubelet 相关的设置
kubeadm init phase kubelet-finalize all --config
选项
-h, --help | |
kubelet-finalize 操作的帮助命令 |
继承于父命令的选项
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
5.35 -
运行 kubelet-finalize 的所有阶段
概要
运行 kubelet-finalize 的所有阶段
kubeadm init phase kubelet-finalize all [flags]
示例
# 在 TLS 引导后更新与 kubelet 相关的设置
kubeadm init phase kubelet-finalize all --config
选项
--cert-dir string 默认值: "/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
all 操作的帮助命令 |
继承于父命令的选项
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
5.36 -
启用 kubelet 客户端证书轮换
概要
启用 kubelet 客户端证书轮换
kubeadm init phase kubelet-finalize enable-client-cert-rotation [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
enable-client-cert-rotation 操作的帮助命令 |
继承于父命令的选项
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
5.37 -
启用 kubelet 客户端证书轮换
概要
启用 kubelet 客户端证书轮换
kubeadm init phase kubelet-finalize experimental-cert-rotation [flags]
选项
--cert-dir string Default: "/etc/kubernetes/pki" | |
保存和存储证书的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
experimental-cert-rotation 操作的帮助命令 |
继承于父命令的选项
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
5.38 -
编写 kubelet 配置并(重新)启动 kubelet
概要
使用 kubelet 配置文件编写一个文件,并使用特定节点的 kubelet 设置编写一个环境文件,然后(重新)启动 kubelet。
kubeadm init phase kubelet-start [flags]
示例
# 将来自 InitConfiguration 文件中的 kubelet 参数写入一个动态环境文件。
kubeadm init phase kubelet-start --config config.yaml
选项
--config string | |
kubeadm 配置文件的路径。 | |
--cri-socket string | |
连接到 CRI 套接字的路径。如果为空,则 kubeadm 将尝试自动检测该值;仅当安装了多个 CRI 或具有非标准 CRI 套接字时,才使用此选项。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
kubelet-start 操作的帮助命令 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择一个容器镜像仓库来从中拉取控制平面组件的镜像 | |
--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" 是一个可选字符串,可用于确定按字母顺序首先应用哪些补丁。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.39 -
标记节点为控制平面节点。
概要
标记节点为控制平面节点。
kubeadm init phase mark-control-plane [flags]
示例
# 将控制平面标签和污点应用于当前节点,其功能等效于 kubeadm init 执行的操作
kubeadm init phase mark-control-plane --config config.yaml
# 将控制平面标签和污点应用于特定节点
kubeadm init phase mark-control-plane --node-name myNode
选项
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
mark-control-plane 操作的帮助命令。 | |
--node-name string | |
指定节点名称。 |
从父命令继承的选项
--rootfs 字符串 | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.40 -
运行预检。
概要
运行 kubeadm init 前的预检。
kubeadm init phase preflight [flags]
示例
# 使用配置文件对 kubeadm init 进行预检
kubeadm init phase preflight --config kubeadm-config.yaml
选项
--config string | |
kubeadm 配置文件的路径。 | |
--cri-socket string | |
要连接的 CRI 套接字的路径。如果该值为空,kubeadm 将尝试自动检测; 仅当你安装了多个 CRI 或使用非标准的 CRI 套接字时才应使用此选项。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
preflight 操作的帮助命令。 | |
--ignore-preflight-errors strings | |
错误将显示为警告的检查列表。例如:'IsPrivilegedUser,Swap'。取值为 'all' 时将忽略检查中的所有错误。 | |
--image-repository string 默认值:"registry.k8s.io" | |
选择拉取控制平面镜像的容器仓库。 |
继承于父命令的选项
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
5.41 -
显示针对控制平面和工作节点的 join 命令。
概要
显示针对控制平面和工作节点的 join 命令。
kubeadm init phase show-join-command [flags]
选项
-h, --help | |
show-join-command 操作的帮助命令。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.42 -
将证书上传到 kubeadm-certs。
概要
将控制平面证书上传到 kubeadm-certs Secret。
kubeadm init phase upload-certs [flags]
选项
--certificate-key string | |
用于加密 kubeadm-certs Secret 中的控制平面证书的密钥。 证书密钥是十六进制编码的字符串,是大小为 32 字节的 AES 密钥。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
upload-certs 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用来与集群通信的 kubeconfig 文件。 如果此标志未设置,则可以在一组标准的位置搜索现有的 kubeconfig 文件。 | |
--skip-certificate-key-print | |
不要打印输出用于加密控制平面证书的密钥。 | |
--upload-certs | |
将控制平面证书上传到 kubeadm-certs Secret。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.43 -
上传 kubeadm 和 kubelet 配置到 ConfigMap 中。
概要
此命令并非设计用来单独运行。请参阅可用的子命令列表。
kubeadm init phase upload-config [flags]
选项
-h, --help | |
upload-config 操作的帮助命令。 |
从父命令中继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.44 -
将所有配置上传到 ConfigMap。
概要
将所有配置上传到 ConfigMap
kubeadm init phase upload-config all [flags]
选项
--config string | |
kubeadm 配置文件的路径。 | |
--cri-socket string | |
要连接的 CRI 套接字的路径。如果该值为空,kubeadm 将尝试自动检测; 仅当你安装了多个 CRI 或使用非标准的 CRI 套接字时才应使用此选项。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
all 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.45 -
将 kubeadm ClusterConfiguration 上传到 ConfigMap。
概要
将 kubeadm ClusterConfiguration 上传到 kube-system 命名空间中名为 kubeadm-config 的 ConfigMap 中。 这样就可以正确配置系统组件,并在升级时提供无缝的用户体验。
另外,可以使用 kubeadm 配置。
kubeadm init phase upload-config kubeadm [flags]
示例
# 上传集群配置
kubeadm init phase upload-config --config=myConfig.yaml
选项
--config string | |
kubeadm 配置文件的路径。 | |
--cri-socket string | |
要连接的 CRI 套接字的路径。如果该值为空,kubeadm 将尝试自动检测; 仅当你安装了多个 CRI 或使用非标准的 CRI 套接字时才应使用此选项。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
kubeadm 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
5.46 -
将 kubelet 组件配置上传到 ConfigMap。
概要
将从 kubeadm InitConfiguration 对象提取的 kubelet 配置上传到集群中的
kubelet-config
ConfigMap。
kubeadm init phase upload-config kubelet [flags]
示例
# 将 kubelet 配置从 kubeadm 配置文件上传到集群中的 ConfigMap。
kubeadm init phase upload-config kubelet --config kubeadm.yaml
选项
--config string | |
到 kubeadm 配置文件的路径。 | |
--cri-socket string | |
要连接的 CRI 套接字的路径。如果该值为空,kubeadm 将尝试自动检测; 仅当你安装了多个 CRI 或使用非标准的 CRI 套接字时才应使用此选项。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
kubelet 操作的帮助命令。 | |
-- kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该标签, 则可以通过一组标准路径来寻找已有的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
6 -
在你希望加入现有集群的任何机器上运行它。
摘要
当节点加入 kubeadm 初始化的集群时,我们需要建立双向信任。 这个过程可以分解为发现(让待加入节点信任 Kubernetes 控制平面节点)和 TLS 引导(让 Kubernetes 控制平面节点信任待加入节点)两个部分。
有两种主要的发现方案。
第一种方案是使用共享令牌和 API 服务器的 IP 地址。
第二种是以文件形式提供标准 kubeconfig 文件的一个子集。
发现/kubeconfig 文件支持令牌、client-go 鉴权插件(“exec”)、“tokenFile" 和
"authProvider"。该文件可以是本地文件,也可以通过 HTTPS URL 下载。
格式是 kubeadm join --discovery-token abcdef.1234567890abcdef 1.2.3.4:6443
、
kubeadm join --discovery-file path/to/file.conf
或者
kubeadm join --discovery-file https://url/file.conf
。
只能使用其中一种。
如果发现信息是从 URL 加载的,必须使用 HTTPS。
此外,在这种情况下,主机安装的 CA 包用于验证连接。
如果使用共享令牌进行发现,还应该传递 --discovery-token-ca-cert-hash 参数来验证 Kubernetes 控制平面节点提供的根证书颁发机构(CA)的公钥。 此参数的值指定为 "<hash-type>:<hex-encoded-value>", 其中支持的哈希类型为 "sha256"。哈希是通过 Subject Public Key Info(SPKI)对象的字节计算的(如 RFC7469)。 这个值可以从 "kubeadm init" 的输出中获得,或者可以使用标准工具进行计算。 可以多次重复 --discovery-token-ca-cert-hash 参数以允许多个公钥。
如果无法提前知道 CA 公钥哈希,则可以通过 --discovery-token-unsafe-skip-ca-verification 参数禁用此验证。 这削弱了 kubeadm 安全模型,因为其他节点可能会模仿 Kubernetes 控制平面节点。
TLS 引导机制也通过共享令牌驱动。 这用于向 Kubernetes 控制平面节点进行临时的身份验证,以提交本地创建的密钥对的证书签名请求(CSR)。 默认情况下,kubeadm 将设置 Kubernetes 控制平面节点自动批准这些签名请求。 这个令牌通过 --tls-bootstrap-token abcdef.1234567890abcdef 参数传入。
通常两个部分会使用相同的令牌。 在这种情况下可以使用 --token 参数,而不是单独指定每个令牌。
"join [api-server-endpoint]" 命令执行下列阶段:
- preflight:运行接入前检查
- control-plane-prepare:准备用作控制平面的机器
- download-certs:[实验] 从 kubeadm-certs Secret 下载控制平面节点之间共享的证书
- certs:为新的控制平面组件生成证书
- kubeconfig:为新的控制平面组件生成 kubeconfig
- control-plane:生成新控制平面组件的清单
- kubelet-start:写入 kubelet 设置、证书并(重新)启动 kubelet
- control-plane-join:将机器加入为控制平面实例
- etcd:添加新的本地 etcd 成员
- update-status:将新的控制平面节点注册到 kubeadm-config ConfigMap 中维护的 ClusterStatus 中(已弃用)
- mark-control-plane:将节点标记为控制平面
- wait-control-plane:[实验] 等待控制平面启动
kubeadm join [api-server-endpoint] [flags]
选项
--apiserver-advertise-address string | |
如果该节点托管一个新的控制平面实例,则 API 服务器将公布其正在侦听的 IP 地址。如果未设置,则使用默认网络接口。 | |
--apiserver-bind-port int32 默认值: 6443 | |
如果节点应该托管新的控制平面实例,则为 API 服务器要绑定的端口。 | |
--certificate-key string | |
使用此密钥可以解密由 init 上传的证书 Secret。 证书密钥为一个十六进制编码的字符串,它是大小为 32 字节的 AES 密钥。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--cri-socket string | |
要连接的 CRI 套接字的路径。如果为空,则 kubeadm 将尝试自动检测此值; 仅当安装了多个 CRI 或存在非标准的 CRI 套接字时,才使用此选项。 | |
--discovery-file string | |
对于基于文件的发现,给出用于加载集群信息的文件或者 URL。 | |
--discovery-token string | |
对于基于令牌的发现,该令牌用于验证从 API 服务器获取的集群信息。 | |
--discovery-token-ca-cert-hash stringSlice | |
对基于令牌的发现,验证根 CA 公钥是否与此哈希匹配 (格式:"<type>:<value>")。 | |
--discovery-token-unsafe-skip-ca-verification | |
对于基于令牌的发现,允许在未关联 --discovery-token-ca-cert-hash 参数的情况下添加节点。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
join 操作的帮助命令。 | |
--ignore-preflight-errors strings | |
错误将显示为警告的检查列表;例如:'IsPrivilegedUser,Swap'。取值为 'all' 时将忽略检查中的所有错误。 | |
--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" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。 | |
--skip-phases strings | |
要跳过的阶段列表。 | |
--tls-bootstrap-token string | |
指定在加入节点时用于临时通过 Kubernetes 控制平面进行身份验证的令牌。 | |
--token string | |
如果未提供这些值,则将它们用于 discovery-token 令牌和 tls-bootstrap 令牌。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.1 -
使用此命令来调用 join
工作流程的某个阶段。
概要
使用此命令来调用 join
工作流程的某个阶段。
选项
-h, --help | |
phase 操作的帮助命令。 |
从父命令中继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.2 -
添加作为控制平面实例的机器。
概要
添加作为控制平面实例的机器。
kubeadm join phase control-plane-join [flags]
示例
# 将机器作为控制平面实例加入
kubeadm join phase control-plane-join all
选项
-h, --help | |
control-plane-join 操作的帮助命令。 |
从父命令中继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
6.3 -
添加作为控制平面实例的机器。
概要
添加作为控制平面实例的机器。
kubeadm join phase control-plane-join all [flags]
选项
--apiserver-advertise-address string | |
如果该节点托管一个新的控制平面实例,则 API 服务器将公布其正在侦听的 IP 地址。如果未设置,则使用默认网络接口。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
all 操作的帮助命令。 | |
--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” 是一个可选字符串,可用于基于字母数字顺序确定首先应用哪些补丁。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
6.4 -
添加一个新的本地 etcd 成员。
概要
添加新的本地 etcd 成员。
kubeadm join phase control-plane-join etcd [flags]
选项
--apiserver-advertise-address string | |
如果该节点托管一个新的控制平面实例,则 API 服务器将公布其正在侦听的 IP 地址。如果未设置,则使用默认网络接口。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
etcd 操作的帮助命令。 | |
--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” 是一个可选字符串,可用于基于字母数字顺序确定首先应用哪些补丁。 |
从父命令中继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
6.5 -
将节点标记为控制平面节点。
概要
将节点标记为控制平面节点。
kubeadm join phase control-plane-join mark-control-plane [flags]
选项
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
mark-control-plane 操作的帮助命令。 | |
--node-name string | |
指定节点的名称。 |
从父命令中继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
6.6 -
准备为控制平面服务的机器。
概要
准备为控制平面服务的机器。
kubeadm join phase control-plane-prepare [flags]
示例
# 准备为控制平面服务的机器
kubeadm join phase control-plane-prepare all
选项
-h, --help | |
control-plane-prepare 操作的帮助命令。 |
从父命令中继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.7 -
准备为控制平面服务的机器。
概要
准备为控制平面服务的机器。
kubeadm join phase control-plane-prepare all [api-server-endpoint] [flags]
选项
--apiserver-advertise-address string | |
如果该节点托管一个新的控制平面实例,则 API 服务器将公布其正在侦听的 IP 地址。如果未设置,则使用默认网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
如果该节点托管一个新的控制平面实例,则为 API 服务器要绑定的端口。 | |
--certificate-key string | |
使用此密钥解密由 init 上传的证书 Secret。 证书密钥是十六进制编码的字符串,是大小为 32 字节的 AES 密钥。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--discovery-file string | |
对于基于文件的发现,给出用于加载集群信息的文件或者 URL。 | |
--discovery-token string | |
对于基于令牌的发现,该令牌用于验证从 API 服务器获取的集群信息。 | |
--discovery-token-ca-cert-hash strings | |
对于基于令牌的发现,请验证根 CA 公钥是否匹配此哈希值(格式:"<type>:<value>")。 | |
--discovery-token-unsafe-skip-ca-verification | |
对于基于令牌的发现,允许在未关联 --discovery-token-ca-cert-hash 参数的情况下添加节点。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
all 操作的帮助命令。 | |
--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” 是一个可选字符串,可用于基于字母数字顺序确定首先应用哪些补丁。 | |
--tls-bootstrap-token string | |
指定在加入节点时用于临时通过 Kubernetes 控制平面进行身份验证的令牌。 | |
--token string | |
如果未提供这些值,则将它们用于 discovery-token 令牌和 tls-bootstrap 令牌。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.8 -
为新的控制平面组件生成证书。
概要
为新的控制平面组件生成证书。
kubeadm join phase control-plane-prepare certs [api-server-endpoint] [flags]
选项
--apiserver-advertise-address string | |
如果该节点托管一个新的控制平面实例,则 API 服务器将公布其正在侦听的 IP 地址。如果未设置,则使用默认网络接口。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--discovery-file string | |
对于基于文件的发现,给出用于加载集群信息的文件或者 URL。 | |
--discovery-token string | |
对于基于令牌的发现,该令牌用于验证从 API 服务器获取的集群信息。 | |
--discovery-token-ca-cert-hash strings | |
对于基于令牌的发现,请验证根 CA 公钥是否匹配此哈希值(格式:"<type>:<value>")。 | |
--discovery-token-unsafe-skip-ca-verification | |
对于基于令牌的发现,允许在未关联 --discovery-token-ca-cert-hash 参数的情况下添加节点。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
certs 操作的帮助命令。 | |
--node-name string | |
指定节点名称。 | |
--tls-bootstrap-token string | |
指定在加入节点时用于临时通过 Kubernetes 控制平面进行身份验证的令牌。 | |
--token string | |
如果未提供这些值,则将它们用于 discovery-token 令牌和 tls-bootstrap 令牌。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.9 -
为新的控制平面组件生成清单。
概要
为新的控制平面组件生成清单(manifest)。
kubeadm join phase control-plane-prepare control-plane [flags]
选项
--apiserver-advertise-address string | |
对于将要托管新的控制平面实例的节点,指定 API 服务器将公布的其正在侦听的 IP 地址。如果未设置,则使用默认网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
针对将要托管新的控制平面实例的节点,设置 API 服务器要绑定的端口。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
control-plane 操作的帮助命令。 | |
--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" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。 |
从父命令中继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.10 -
[实验] 从 kubeadm-certs Secret 下载控制平面节点之间共享的证书。
概要
[实验] 从 kubeadm-certs Secret 下载控制平面节点之间共享的证书。
kubeadm join phase control-plane-prepare download-certs [api-server-endpoint] [flags]
选项
--certificate-key string | |
使用此密钥可以解密由 init 上传的证书 Secret。 证书密钥为一个十六进制编码的字符串,是大小为 32 字节的 AES 密钥。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--discovery-file string | |
对于基于文件的发现,给出用于加载集群信息的文件或者 URL。 | |
--discovery-token string | |
对于基于令牌的发现,该令牌用于验证从 API 服务器获取的集群信息。 | |
--discovery-token-ca-cert-hash stringSlice | |
对于基于令牌的发现,请验证根 CA 公钥是否匹配此哈希值(格式:"<type>:<value>")。 | |
--discovery-token-unsafe-skip-ca-verification | |
对于基于令牌的发现,允许在未关联 --discovery-token-ca-cert-hash 参数的情况下添加节点。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
download-certs 操作的帮助命令。 | |
--tls-bootstrap-token string | |
指定在加入节点时用于临时通过 Kubernetes 控制平面进行身份验证的令牌。 | |
--token string | |
如果未提供这些值,则将它们用于 discovery-token 令牌和 tls-bootstrap 令牌。 |
从父命令中继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.11 -
为新的控制平面组件生成 kubeconfig。
概要
为新的控制平面组件生成 kubeconfig。
kubeadm join phase control-plane-prepare kubeconfig [api-server-endpoint] [flags]
选项
--certificate-key string | |
使用此密钥可以解密由 init 上传的证书 Secret。 证书密钥为一个十六进制编码的字符串,它是大小为 32 字节的 AES 密钥。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--discovery-file string | |
对于基于文件的发现,给出用于加载集群信息的文件或者 URL。 | |
--discovery-token string | |
对于基于令牌的发现,该令牌用于验证从 API 服务器获取的集群信息。 | |
--discovery-token-ca-cert-hash stringSlice | |
对于基于令牌的发现,请验证根 CA 公钥是否匹配此哈希值(格式:"<type>:<value>")。 | |
--discovery-token-unsafe-skip-ca-verification | |
对于基于令牌的发现,允许在未关联 --discovery-token-ca-cert-hash 参数的情况下添加节点。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
kubeconfig 操作的帮助命令。 | |
--tls-bootstrap-token string | |
指定在加入节点时用于临时通过 Kubernetes 控制平面进行身份验证的令牌。 | |
--token string | |
如果未提供这些值,则将它们用于 discovery-token 令牌和 tls-bootstrap 令牌。 |
从父命令中继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.12 -
配置 kubelet、证书并(重新)启动 kubelet。
概要
生成一个包含 KubeletConfiguration 的文件和一个包含特定于节点的 kubelet 配置的环境文件,然后(重新)启动 kubelet。
kubeadm join phase kubelet-start [api-server-endpoint] [flags]
选项
--config string | |
kubeadm 配置文件的路径。 | |
--cri-socket string | |
提供给 CRI 套接字建立连接的路径。如果为空,则 kubeadm 将尝试自动检测该值; 仅当安装了多个 CRI 或存在非标准的 CRI 套接字时,才使用此选项。 | |
--discovery-file string | |
对于基于文件的发现,给出用于加载集群信息的文件或者 URL。 | |
--discovery-token string | |
对于基于令牌的发现,该令牌用于验证从 API 服务器获取的集群信息。 | |
--discovery-token-ca-cert-hash stringSlice | |
对于基于令牌的发现,验证根 CA 公钥是否匹配此哈希值(格式:"<type>:<value>")。 | |
--discovery-token-unsafe-skip-ca-verification | |
对于基于令牌的发现,允许在未关联 --discovery-token-ca-cert-hash 参数的情况下添加节点。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
kubelet-start 操作的帮助命令。 | |
--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" 是一个可选字符串,可用于确定按字母顺序首先应用哪些补丁。 | |
--tls-bootstrap-token string | |
指定在加入节点时用于临时通过 Kubernetes 控制平面进行身份验证的令牌。 | |
--token string | |
如果未提供这些值,则将它们用于 discovery-token 令牌和 tls-bootstrap 令牌。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.13 -
运行 join 命令前检查。
概要
运行 kubeadm join 命令添加节点前检查。
kubeadm join phase preflight [api-server-endpoint] [flags]
示例
# 使用配置文件运行 kubeadm join 命令添加节点前检查。
kubeadm join phase preflight --config kubeadm-config.yaml
选项
--apiserver-advertise-address string | |
对于将要托管新的控制平面实例的节点,指定 API 服务器将公布的其正在侦听的 IP 地址。如果未设置,则使用默认网络接口。 | |
--apiserver-bind-port int32 默认值:6443 | |
针对将要托管新的控制平面实例的节点,设置 API 服务器要绑定的端口。 | |
--certificate-key string | |
使用此密钥可以解密由 `init` 操作上传的证书 Secret。 证书密钥为十六进制编码的字符串,是大小为 32 字节的 AES 密钥。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--control-plane | |
在此节点上创建一个新的控制平面实例。 | |
--cri-socket string | |
提供给 CRI 套接字建立连接的路径。如果为空,则 kubeadm 将尝试自动检测该值; 仅当安装了多个 CRI 或存在非标准的 CRI 套接字时,才使用此选项。 | |
--discovery-file string | |
对于基于文件的发现,给出用于加载集群信息的文件或者 URL。 | |
--discovery-token string | |
对于基于令牌的发现,该令牌用于验证从 API 服务器获取的集群信息。 | |
--discovery-token-ca-cert-hash strings | |
对于基于令牌的发现,验证根 CA 公钥是否匹配此哈希值(格式:"<type>:<value>")。 | |
--discovery-token-unsafe-skip-ca-verification | |
对于基于令牌的发现,允许在未关联 --discovery-token-ca-cert-hash 参数的情况下添加节点。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
preflight 操作的帮助命令。 | |
--ignore-preflight-errors stringSlice | |
错误将显示为警告的检查列表;例如:'IsPrivilegedUser,Swap'。取值为 'all' 时将忽略检查中的所有错误。 | |
--node-name string | |
指定节点名称。 | |
--tls-bootstrap-token string | |
指定在加入节点时用于临时通过 Kubernetes 控制平面进行身份验证的令牌。 | |
--token string | |
如果未提供这些值,则将它们用于 discovery-token 令牌和 tls-bootstrap 令牌。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
6.14 -
实验特性:等待控制平面启动
概要
实验特性:等待控制平面启动
kubeadm join phase wait-control-plane [flags]
选项
-h, --help | |
wait-control-plane 操作的帮助命令。 |
从父命令继承的选项
--rootfs string | |
[实验] 到 '真实' 主机根文件系统的路径。 |
7 -
kubeconfig 文件工具。
概要
kubeconfig 文件工具。
选项
-h, --help | |
kubeconfig 操作的帮助命令。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。设置此标志将导致 kubeadm 切换到所提供的路径。 |
7.1 -
为其他用户输出一个 kubeconfig 文件。
概要
为其他用户输出一个 kubeconfig 文件。
kubeadm kubeconfig user [flags]
示例
# 为一个名为 foo 的其他用户输出 kubeconfig 文件
kubeadm kubeconfig user --client-name=foo
# 使用 kubeadm 配置文件 bar 为另一个名为 foo 的用户输出 kubeconfig 文件
kubeadm alpha kubeconfig user --client-name=foo --config=bar
选项
--client-name string | |
用户名。如果生成客户端证书,则用作其 CN。 | |
--config string | |
指向 kubeadm 配置文件的路径。 | |
-h, --help | |
user 操作的帮助命令。 | |
--org strings | |
客户端证书的组织。如果创建客户端证书,此值将用作其 O 字段值。 | |
--token string | |
应该用此令牌做为 kubeconfig 的身份验证机制,而不是客户端证书。 | |
--validity-period duration Default: 8760h0m0s | |
客户证书的合法期限。所设置值为相对当前时间的偏移。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。设置此标志将导致 kubeadm 切换到所提供的路径。 |
8 -
尽最大努力还原通过 'kubeadm init' 或者 'kubeadm join' 操作对主机所作的更改。
概要
尽最大努力还原通过 'kubeadm init' 或者 'kubeadm join' 操作对主机所作的更改。
"reset" 命令执行以下阶段:
preflight 重置预检
remove-etcd-member 移除本地 etcd 成员
cleanup-node 清理节点
kubeadm reset [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的目录路径。如果已指定,则需要清空此目录。 | |
--cleanup-tmp-dir | |
清理 "/etc/kubernetes/tmp" 目录。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--cri-socket string | |
要连接的 CRI 套接字的路径。如果为空,则 kubeadm 将尝试自动检测此值; 仅当安装了多个 CRI 或存在非标准的 CRI 套接字时,才使用此选项。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-f, --force | |
在不提示确认的情况下重置节点。 | |
-h, --help | |
reset 操作的帮助命令。 | |
--ignore-preflight-errors strings | |
错误将显示为警告的检查列表;例如:'IsPrivilegedUser,Swap'。取值为 'all' 时将忽略检查中的所有错误。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该标志,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--skip-phases strings | |
要跳过的阶段列表。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
8.1 -
使用此命令来调用 reset
工作流程的某个阶段。
概要
使用此命令来调用 reset
工作流程的某个阶段。
选项
-h, --help | |
phase 操作的帮助命令。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
8.2 -
执行 cleanup node(清理节点)操作。
概要
执行 cleanup node(清理节点)操作。
kubeadm reset phase cleanup-node [flags]
选项
--cert-dir string 默认值:"/etc/kubernetes/pki" | |
存储证书的目录路径。如果已指定,则需要清空此目录。 | |
--cleanup-tmp-dir | |
清理 "/etc/kubernetes/tmp" 目录。 | |
--cri-socket string | |
要连接的 CRI 套接字的路径。如果为空,则 kubeadm 将尝试自动检测此值; 仅当安装了多个 CRI 或具有非标准 CRI 套接字时,才使用此选项。 | |
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
cleanup-node 操作的帮助命令。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
8.3 -
kubeadm reset(重置)前运行启动前检查。
概要
kubeadm reset(重置)前运行启动前检查。
kubeadm reset phase preflight [flags]
选项
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-f, --force | |
在不提示确认的情况下重置节点。 | |
-h, --help | |
preflight 操作的帮助命令。 | |
--ignore-preflight-errors strings | |
错误将显示为警告的检查列表;例如:'IsPrivilegedUser,Swap'。取值为 'all' 时将忽略检查中的所有错误。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
8.4 -
移除本地 etcd 成员。
概要
移除控制平面节点的本地 etcd 成员。
kubeadm reset phase remove-etcd-member [flags]
选项
--dry-run | |
不做任何更改;只输出将要执行的操作。 | |
-h, --help | |
remove-etcd-member 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置该标志,则可以在默认位置中查找现有的 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
9 -
管理引导令牌。
概要
此命令管理引导令牌(bootstrap token)。它是可选的,仅适用于高级用例。
简而言之,引导令牌(Bootstrap Token)用于在客户端和服务器之间建立双向信任。 当客户端(例如,即将加入集群的节点)需要信任所通信的服务器时,可以使用引导令牌。 这时可以使用具有 “signing” 用途的引导令牌。引导令牌还可以作为一种允许对 API 服务器进行短期身份验证的方法(令牌用作 API 服务器信任客户端的方式),例如用于执行 TLS 引导程序。
引导令牌准确来说是什么?
- 它是位于 kube-system 命名空间中类型为 “bootstrap.kubernetes.io/token” 的一个 Secret。
- 引导令牌的格式必须为 “[a-z0-9]{6}.[a-z0-9]{16}”,前一部分是公共令牌 ID,而后者是令牌秘钥,必须在任何情况下都保密!
- 必须将 Secret 的名称命名为 “bootstrap-token-(token-id)”。
你可以在此处阅读有关引导令牌(bootstrap token)的更多信息: https://kubernetes.io/zh-cn/docs/admin/bootstrap-tokens/
kubeadm token [flags]
选项
--dry-run | |
是否启用 `dry-run` 模式。 | |
-h, --help | |
token 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置,则搜索一组标准位置以查找现有 kubeconfig 文件。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
9.1 -
在服务器上创建引导令牌。
概要
这个命令将为你创建一个引导令牌。 你可以设置此令牌的用途,"有效时间" 和可选的人性化的描述。
这里的 [token] 是指将要生成的实际令牌。 该令牌应该是一个通过安全机制生成的随机令牌,形式为 "[a-z0-9]{6}.[a-z0-9]{16}"。 如果没有给出 [token],kubeadm 将生成一个随机令牌。
kubeadm token create [token]
选项
--certificate-key string | |
当与 “--print-join-command” 一起使用时,打印作为控制平面加入集群时所需的所有 “kubeadm join” 标志。 要创建新的证书密钥,你必须使用 “kubeadm init phase upload-certs --upload-certs”。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--description string | |
针对令牌用途的人性化的描述。 | |
--groups stringSlice 默认值:[system:bootstrappers:kubeadm:default-node-token] | |
此令牌用于身份验证时将对其他组进行身份验证。必须匹配 "\\Asystem:bootstrappers:[a-z0-9:-]{0,255}[a-z0-9]\\z" | |
-h, --help | |
create 操作的帮助命令。 | |
--print-join-command | |
不仅仅打印令牌,而是打印使用令牌加入集群所需的完整 'kubeadm join' 参数。 | |
--ttl duration 默认值:24h0m0s | |
令牌有效时间,超过该时间令牌被自动删除。(例如:1s, 2m, 3h)。如果设置为 '0',令牌将永远不过期。 | |
--usages stringSlice 默认值:[signing,authentication] | |
描述可以使用此令牌的方式。你可以多次使用 `--usages` 或者提供一个以逗号分隔的选项列表。 合法选项有:[signing,authentication] |
从父命令继承的选项
--dry-run | |
是否启用 `dry-run` 运行模式。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
9.2 -
删除服务器上的引导令牌。
概要
这个命令将为你删除指定的引导令牌列表。
[token-value]
是要删除的 "[a-z0-9]{6}.[a-z0-9]{16}" 形式的完整令牌或者是 "[a-z0-9]{6}" 形式的令牌 ID。
kubeadm token delete [token-value] ...
选项
-h, --help | |
delete 操作的帮助命令。 |
从父命令继承的选项
--dry-run | |
是否启用 `dry-run` 运行模式。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
9.3 -
生成并打印一个引导令牌,但不要在服务器上创建它。
概要
此命令将打印一个随机生成的可以被 "init" 和 "join" 命令使用的引导令牌。
你不必使用此命令来生成令牌。你可以自己设定,只要格式符合 "[a-z0-9]{6}.[a-z0-9]{16}"。 之所以提供这个命令是为了方便生成规定格式的令牌。
你也可以使用 "kubeadm init" 并且不指定令牌,该命令会生成一个令牌并打印出来。
kubeadm token generate [flags]
选项
-h, --help | |
generate 操作的帮助命令。 |
从父命令继承的选项
--dry-run | |
是否启用 `dry-run` 模式。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
9.4 -
列出服务器上的引导令牌。
概要
此命令将为你列出所有的引导令牌。
kubeadm token list [flags]
选项
--allow-missing-template-keys 默认值:true | |
如果设置为 true,则在模板中缺少字段或哈希表的键时忽略模板中的任何错误。 仅适用于 golang 和 jsonpath 输出格式。 | |
-o, --experimental-output string 默认值:"text" | |
输出格式:text|json|yaml|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file 其中之一 | |
-h, --help | |
list 操作的帮助命令。 | |
--show-managed-fields | |
如果为 true,则在以 JSON 或 YAML 格式打印对象时保留 managedFields。 |
从父命令继承的选项
--dry-run | |
是否启用 `dry-run` 模式。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--rootfs string | |
到“真实”主机根文件系统的路径。这将导致 kubeadm 切换到所提供的路径。 |
10 -
此命令能将集群平滑升级到新版本。
概要
此命令能将集群平滑升级到新版本。
kubeadm upgrade [flags]
选项
-h, --help | |
upgrade 操作的帮助命令。 |
继承于父命令的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
10.1 -
将 Kubernetes 集群升级到指定版本。
概要
将 Kubernetes 集群升级到指定版本。
kubeadm upgrade apply [version]
选项
--allow-experimental-upgrades | |
显示 Kubernetes 的不稳定版本作为升级替代方案,并允许升级到 Kubernetes 的 Alpha、Beta 或 RC 版本。 | |
--allow-release-candidate-upgrades | |
显示 Kubernetes 的候选版本作为升级替代方案,并允许升级到 Kubernetes 的 RC 版本。 | |
--certificate-renewal Default: true | |
执行升级期间更改的组件所使用的证书的更新。 | |
--config string | |
kubeadm 配置文件的路径。 | |
--dry-run | |
不要更改任何状态,只输出要执行的操作。 | |
--etcd-upgrade 默认值: true | |
执行 etcd 的升级。 | |
--feature-gates string | |
一组键值对,用于描述各种功能。选项包括: | |
-f, --force | |
强制升级,但可能无法满足某些要求。这也意味着非交互模式。 | |
-h, --help | |
apply 操作的帮助命令。 | |
-ignore-preflight-errors strings | |
错误将显示为警告的检查列表;例如:'IsPrivilegedUser,Swap'。取值为 'all' 时将忽略检查中的所有错误。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果未设置标志,则在相关目录下搜索以查找现有 kubeconfig 文件。 | |
--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" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。 | |
--print-config | |
指定是否应打印将在升级中使用的配置文件。 | |
-y, --yes | |
执行升级,不提示确认(非交互模式)。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
10.2 -
显示哪些差异将被应用于现有的静态 Pod 资源清单。参考:kubeadm upgrade apply --dry-run
概要
显示哪些差异将被应用于现有的静态 Pod 资源清单。另请参考:kubeadm upgrade apply --dry-run
kubeadm upgrade diff [version] [flags]
选项
--api-server-manifest string 默认值:"/etc/kubernetes/manifests/kube-apiserver.yaml" | |
API 服务器清单的路径。 | |
--config string | |
kubeadm 配置文件的路径。 | |
-c, --context-lines int 默认值:3 | |
diff 涉及了多少行上下文。 | |
--controller-manager-manifest string 默认值:"/etc/kubernetes/manifests/kube-controller-manager.yaml" | |
控制器清单的路径。 | |
-h, --help | |
diff 操作的帮助命令 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件,如果标志是未设置,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
--scheduler-manifest string 默认值:"/etc/kubernetes/manifests/kube-scheduler.yaml" | |
调度程序清单的路径。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向“真实”主机根文件系统的路径。 |
10.3 -
升级集群中某个节点的命令。
概要
升级集群中某个节点的命令。
"node" 命令执行以下阶段:
preflight 执行节点升级前检查
control-plane 如果存在的话,升级部署在该节点上的管理面实例
kubelet-config 更新该节点上的 kubelet 配置
kubeadm upgrade node [flags]
选项
--certificate-renewal 默认值: true | |
对升级期间变化的组件所使用的证书执行续订。 | |
--config string | |
到 kubeadm 配置文件的路径。 | |
--dry-run | |
不更改任何状态,只输出将要执行的操作。 | |
--etcd-upgrade 默认值: true | |
执行 etcd 的升级。 | |
-h, --help | |
node 操作的帮助命令。 | |
--ignore-preflight-errors strings | |
其错误将显示为警告的检查列表。示例:'IsPrivilegedUser,Swap'。值 'all' 忽略所有检查中的错误。 | |
--kubeconfig string 默认值: "/etc/kubernetes/admin.conf" | |
用于与集群交互的 kubeconfig 文件。如果参数未指定,将从一系列标准位置检索存在的 kubeconfig 文件。 | |
--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" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。 | |
--skip-phases strings | |
要跳过的阶段的列表。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
10.4 -
使用此命令调用 node 工作流的某个阶段。
概要
使用此命令调用 node 工作流的某个阶段。
选项
-h, --help | |
phase 操作的帮助命令。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 '真实' 宿主机根文件系统的路径。 |
10.5 -
升级部署在此节点上的控制平面实例,如果有的话。
概要
升级部署在此节点上的控制平面实例,如果有的话。
kubeadm upgrade node phase control-plane [flags]
选项
--certificate-renewal | |
续订在升级期间变更的组件所使用的证书。 | |
--dry-run | |
不改变任何状态,只输出将要执行的动作。 | |
--etcd-upgrade 默认值: true | |
执行 etcd 的升级。 | |
-h, --help | |
control-plane 操作的帮助命令。 | |
--kubeconfig string 默认值: "/etc/kubernetes/admin.conf" | |
用于和集群通信的 KubeConfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 KubeConfig 文件。 | |
--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" 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 “真实” 主机根文件系统的路径。 |
10.6 -
升级此节点的 kubelet 配置。
概要
从集群中 ConfigMap kubelet-config 下载 kubelet 配置。
kubeadm upgrade node phase kubelet-config [flags]
选项
--dry-run | |
不改变任何状态,只输出将要执行的操作。 | |
-h, --help | |
kubelet-config 操作的帮助命令。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。 | |
--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" 是一个可选字符串,可用于确定按字母顺序首先应用哪些补丁。 |
从父命令继承的选项
--rootfs string | |
[实验] 到'真实'主机根文件系统的路径。 |
10.7 -
执行升级节点的预检。
概要
执行 kubeadm 升级节点的预检。
kubeadm upgrade node phase preflight [flags]
选项
-h, --help | |
preflight 操作的帮助命令。 | |
--ignore-preflight-errors strings | |
错误将显示为警告的检查清单。示例:'IsPrivilegedUser,Swap'。值为 'all' 表示忽略所有检查的错误。 |
继承于父命令的选项
--rootfs string | |
[实验] 指向 “真实” 主机根文件系统的路径。 |
10.8 -
检查可升级到哪些版本,并验证你当前的集群是否可升级。
概述
检查可升级到哪些版本,并验证你当前的集群是否可升级。
该命令只能在存在 kubeconfig 文件 admin.conf
的控制平面节点上运行。
要跳过互联网检查,请传入可选参数 [version]。
kubeadm upgrade plan [version] [flags]
选项
--allow-experimental-upgrades | |
显示不稳定版本的 Kubernetes 作为升级替代方案,并允许升级到 Kubernetes 的 Alpha、Beta 或 RC 版本。 | |
--allow-missing-template-keys Default: true | |
如果为 true,则当模板中缺少字段或映射键时,忽略模板中的错误。仅适用于 golang 和 jsonpath 输出格式。 | |
--allow-release-candidate-upgrades | |
显示 Kubernetes 的发行候选版本作为升级选择,并允许升级到 Kubernetes 的 RC 版本。 | |
--config string | |
配置文件的路径。 | |
-o, --experimental-output string Default: "text" | |
输出格式为 text|json|yaml|go-template|go-template-file|template|templatefile|jsonpath|jsonpath-as-json|jsonpath-file 其中一种。 | |
--feature-gates string | |
一组描述各种特征特性门控的键值对。选项有: | |
-h, --help | |
plan 操作的帮助命令。 | |
--ignore-preflight-errors strings | |
其错误将显示为警告的检查列表。例如:'IsPrivilegedUser,Swap'。值 'all' 忽略所有检查错误。 | |
--kubeconfig string 默认值:"/etc/kubernetes/admin.conf" | |
与集群通信时使用的 kubeconfig 文件。如果标志为未设置,则可以在一组标准位置中搜索现有的 kubeconfig 文件。 | |
-o, --output string 默认值:"text" | |
--print-config | |
指定是否打印将在升级中使用的配置文件。 | |
--show-managed-fields | |
如果开启,以 JSON 或 YAML 格式打印对象时会保留 managedField。 |
从父命令继承的选项
--rootfs string | |
[实验] 指向 “真实” 宿主机根文件系统的路径。 |
11 -
打印 kubeadm 的版本。
概要
打印 kubeadm 的版本。
kubeadm version [flags]
选项
-h, --help | |
version 操作的帮助命令。 | |
-o, --output string | |
输出格式;可用的选项有 'yaml'、'json' 和 'short'。 |
从父命令继承的选项
--rootfs string | |
到“真实”主机根文件系统的路径。设置此标志将导致 kubeadm 切换到所提供的路径。 |
12 -
此目录下的所有文件都是从其他仓库自动生成的。 不要人工编辑它们。 你必须在上游仓库中编辑它们