kubeadm init phase

kubeadm init phase 能确保调用引导过程的原子步骤。 因此,如果希望自定义应用,则可以让 kubeadm 做一些工作,然后填补空白。

kubeadm init phasekubeadm init 工作流 一致,后台都使用相同的代码。

kubeadm init phase preflight

使用此命令可以在控制平面节点上执行启动前检查。

运行启动检查

概要

运行 kubeadm init 前的启动检查。

  1. kubeadm init phase preflight [flags]

案例

  1. # 使用配置文件对 kubeadm init 进行启动检查。
  2. kubeadm init phase preflight --config kubeadm-config.yaml

选项

—config string

kubeadm 配置文件的路径。

-h, —help

preflight 操作的帮助命令

—ignore-preflight-errors strings

错误将显示为警告的检查列表:例如:’IsPrivilegedUser,Swap’。取值为 ‘all’ 时将忽略检查中的所有错误。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase kubelet-start

此阶段将写入 kubelet 配置文件和环境文件,然后启动 kubelet。

编写 kubelet 配置并(重新)启动 kubelet

概要

使用 kubelet 配置文件编写一个文件,并使用特定节点的 kubelet 设置编写一个环境文件,然后(重新)启动 kubelet。

  1. kubeadm init phase kubelet-start [flags]

示例

  1. # 将来自 InitConfiguration 文件中的 kubelet 参数写入一个动态环境文件。
  2. kubeadm init phase kubelet-start --config config.yaml

选项

—config string

kubeadm 配置文件的路径。

—cri-socket string

连接到 CRI 套接字的路径。如果为空,则 kubeadm 将尝试自动检测该值;仅当安装了多个 CRI 或具有非标准 CRI 套接字时,才使用此选项。

-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” 是一个可选字符串,可用于确定按字母顺序首先应用哪些补丁。

从父命令继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase certs

该阶段可用于创建 kubeadm 所需的所有证书。

证书生成

概要

此命令并非设计用来单独运行。请参阅可用子命令列表。

  1. kubeadm init phase certs [flags]

选项

-h, —help

certs 操作的帮助命令

从父指令中继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成所有证书

概要

生成所有证书

  1. 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 名称。

-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

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成自签名的 Kubernetes CA 以便为其他 Kubernetes 组件提供身份标识

概要

生成自签名的 Kubernetes CA 以便为其他 Kubernetes 组件提供身份标识,并将其保存到 ca.crt 和 ca.key 文件中。

如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。

Alpha 免责声明:此命令当前为 Alpha 功能。

  1. kubeadm init phase certs ca [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

证书的存储路径。

—config string

kubeadm 配置文件的路径。

-h, —help

ca 操作的帮助命令

—kubernetes-version string     默认值:”stable-1”

为控制平面选择特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成用于服务 Kubernetes API 的证书

概要

生成用于服务 Kubernetes API 的证书,并将其保存到 apiserver.crt 和 apiserver.key 文件中。

如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。

Alpha 免责声明:此命令当前为 Alpha 功能。

  1. 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 名称。

-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

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成供 API 服务器连接 kubelet 的证书

概要

生成供 API 服务器连接 kubelet 的证书,并将其保存到 apiserver-kubelet-client.crt 和 apiserver-kubelet-client.key 文件中。

如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。

Alpha 免责声明:此命令当前为 Alpha 功能。

  1. kubeadm init phase certs apiserver-kubelet-client [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

存储证书的路径。

—config string

kubeadm 配置文件路径。

-h, —help

apiserver-kubelet-client 操作的帮助命令

—kubernetes-version string     默认值:”stable-1”

为控制平面指定特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs string

[实验] 指向宿主机上的 ‘实际’ 根文件系统的路径。

生成自签名 CA 来提供前端代理的身份

概要

生成自签名 CA 来提供前端代理的身份,并将其保存到 front-proxy-ca.cert 和 front-proxy-ca.key 文件中。

如果两个文件都已存在,kubeadm 将跳过生成步骤并将使用现有文件。

Alpha 免责声明:此命令目前是 alpha 阶段。

  1. kubeadm init phase certs front-proxy-ca [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

存储证书的路径。

—config string

kubeadm 配置文件的路径。

-h, —help

front-proxy-ca 操作的帮助命令

—kubernetes-version string     默认值:”stable-1”

为控制平面选择特定的 Kubernetes 版本。

从父命令继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

为前端代理客户端生成证书

概要

为前端代理客户端生成证书,并将其保存到 front-proxy-client.crt 和 front-proxy-client.key 文件中。 如果两个文件都已存在,kubeadm 将跳过生成步骤并将使用现有文件。 Alpha 免责声明:此命令目前是 alpha 阶段。

  1. kubeadm init phase certs front-proxy-client [flags]

选项

—cert-dir string     默认:”/etc/kubernetes/pki”

存储证书的路径。

—config string

kubeadm 配置文件的路径。

-h, —help

front-proxy-client 操作的帮助命令

—kubernetes-version string     默认值:”stable-1”

为控制平面选择特定的 Kubernetes 版本。

从父命令继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成用于为 etcd 设置身份的自签名 CA

概要

生成用于为 etcd 设置身份的自签名 CA,并将其保存到 etcd/ca.crt 和 etcd/ca.key 文件中。

如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。

Alpha 免责声明:此命令当前为 Alpha 功能。

  1. kubeadm init phase certs etcd-ca [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

证书的存储路径。

—config string

kubeadm 配置文件的路径。

-h, —help

etcd-ca 操作的帮助命令

—kubernetes-version string     默认值:”stable-1”

为控制平面选择特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

概要

生成用于提供 etcd 服务的证书,并将其保存到 etcd/server.crt 和 etcd/server.key 文件中。

默认 SAN 为 localhost、127.0.0.1、127.0.0.1、:: 1

如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。

Alpha 免责声明:此命令当前为 alpha 功能。

  1. kubeadm init phase certs etcd-server [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

保存和存储证书的路径。

—config string

kubeadm 配置文件的路径。

-h, —help

etcd-server 操作的帮助命令

—kubernetes-version string     默认值:”stable-1”

为控制平面指定特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成 etcd 节点相互通信的证书

概要

生成 etcd 节点相互通信的证书,并将其保存到 etcd/peer.crt 和 etcd/peer.key 文件中。

默认 SAN 为 localhost、127.0.0.1、127.0.0.1、:: 1

如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。

Alpha 免责声明:此命令当前为 alpha 功能。

  1. kubeadm init phase certs etcd-peer [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

保存和存储证书的路径。

—config string

kubeadm 配置文件的路径。

-h, —help

etcd-peer 操作的帮助命令

—kubernetes-version string     默认值:”stable-1”

为控制平面指定特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成用于 etcd 健康检查的活跃性探针的证书

概要

生成用于 etcd 健康检查的活跃性探针的证书,并将其保存到 etcd/healthcheck-client.crt 和 etcd/healthcheck-client.key 文件中。

如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。

Alpha 免责声明:此命令当前为 alpha 功能。

  1. kubeadm init phase certs etcd-healthcheck-client [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

证书存储的路径。

—config string

kubeadm 配置文件的路径。

-h, —help

etcd-healthcheck-client 操作的帮助命令

—kubernetes-version string     默认值:”stable-1”

为控制平面选择特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成 apiserver 用来访问 etcd 的证书

概要

生成 apiserver 用于访问 etcd 的证书,并将其保存到 apiserver-etcd-client.crt 和 apiserver-etcd-client.key 文件中。

如果两个文件都已存在,则 kubeadm 将跳过生成步骤,使用现有文件。

Alpha 免责声明:此命令当前为 Alpha 功能。

  1. kubeadm init phase certs apiserver-etcd-client [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

证书的存储路径。

—config string

kubeadm 配置文件的路径。

-h, —help

apiserver-etcd-client 操作的帮助命令

—kubernetes-version string     默认值:”stable-1”

为控制平面指定特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成用来签署服务账号令牌的私钥及其公钥

概要

生成用来签署服务账号令牌的私钥及其公钥,并将其保存到 sa.key 和 sa.pub 文件中。 如果两个文件都已存在,则 kubeadm 会跳过生成步骤,而将使用现有文件。

Alpha 免责声明:此命令当前为 alpha 阶段。

  1. kubeadm init phase certs sa [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

保存和存储证书的路径。

-h, —help

sa 操作的帮助命令

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase kubeconfig

可以通过调用 all 子命令来创建所有必需的 kubeconfig 文件,或者分别调用它们。

生成所有建立控制平面和管理员(admin)所需的 kubeconfig 文件

概要

此命令并非设计用来单独运行。请阅读可用子命令列表。

  1. kubeadm init phase kubeconfig [flags]

选项

-h, —help

kubeconfig 操作的帮助命令

从父命令继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成所有 kubeconfig 文件

概要

生成所有 kubeconfig 文件

  1. 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 名称。

-h, —help

all 操作的帮助命令

—kubeconfig-dir string     默认值:”/etc/kubernetes”

kubeconfig 文件的保存路径。

—kubernetes-version string     默认值:”stable-1”

为控制平面指定特定的 Kubernetes 版本。

—node-name string

指定节点名称。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

为管理员(admin)和 kubeadm 本身生成 kubeconfig 文件

概要

为管理员和 kubeadm 本身生成 kubeconfig 文件,并将其保存到 admin.conf 文件中。

  1. 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 名称。

-h, —help

admin 操作的帮助命令

—kubeconfig-dir string     默认值:”/etc/kubernetes”

kubeconfig 文件的保存路径。

—kubernetes-version string     默认值:”stable-1”

为控制平面指定特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

为 kubelet 生成一个 kubeconfig 文件,仅仅用于集群引导目的

概要

生成 kubelet 要使用的 kubeconfig 文件,并将其保存到 kubelet.conf 文件。

请注意,该操作目的是应用于引导集群。在控制平面启动之后,应该从 CSR API 请求所有 kubelet 凭据。

  1. 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 名称。

-h, —help

kubelet 操作的帮助命令

—kubeconfig-dir string     默认值:”/etc/kubernetes”

kubeconfig 文件的保存路径。

—kubernetes-version string     默认值:”stable-1”

为控制平面选择特定的 Kubernetes 版本。

—node-name string

指定节点的名称。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成控制器管理器要使用的 kubeconfig 文件

概要

生成控制器管理器要使用的 kubeconfig 文件,并保存到 controller-manager.conf 文件中。

  1. 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 名称。

-h, —help

controller-manager 操作的帮助命令

—kubeconfig-dir string     默认值:”/etc/kubernetes”

kubeconfig 文件的保存路径。

—kubernetes-version string     默认值:”stable-1”

为控制平面指定特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs 字符串

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成调度器使用的 kubeconfig 文件

概要

生成调度器(scheduler)要使用的 kubeconfig 文件,并保存到 scheduler.conf 文件中。

  1. 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 名称。

-h, —help

scheduler 操作的帮助命令

—kubeconfig-dir string     默认值:”/etc/kubernetes”

kubeconfig 文件的保存路径。

—kubernetes-version string     默认值:”stable-1”

为控制平面指定特定的 Kubernetes 版本。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase control-plane

使用此阶段,可以为控制平面组件创建所有必需的静态 Pod 文件。

生成建立控制平面所需的静态 Pod 清单文件

概要

此命令并非设计用来单独运行。请参阅可用子命令列表。

  1. kubeadm init phase control-plane [flags]

选项

-h, —help

control-plane 操作的帮助命令

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成所有静态 Pod 清单文件

概要

生成所有的静态 Pod 清单文件

  1. kubeadm init phase control-plane all [flags]

示例

  1. # 为控制平面组件生成静态 Pod 清单文件,其功能等效于 kubeadm init 生成的文件。
  2. kubeadm init phase control-plane all
  3. # 使用从某配置文件中读取的选项为生成静态 Pod 清单文件。
  4. 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)对。选项是:
PublicKeysECDSA=true|false (ALPHA - 默认值=false)
RootlessControlPlane=true|false (ALPHA - 默认值=false)
UnversionedKubeletConfigMap=true|false (默认值=true)

-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) 或覆盖其默认设置值

传递给调度器(scheduler)一组额外的参数或者以 <flagname>=<value> 形式覆盖其默认值。

—service-cidr string     默认值:”10.96.0.0/12”

为服务 VIP 选择 IP 地址范围。

从父指令继承的选项

—rootfs string

[实验] 指向 ‘真实’ 宿主机的根文件系统的路径。

生成 kube-apiserver 静态 Pod 清单

概要

生成 kube-apiserver 静态 Pod 清单

  1. 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

一组键值对,用于描述各种功能特性的特性门控。选项是:
PublicKeysECDSA=true|false (ALPHA - 默认值=false)
RootlessControlPlane=true|false (ALPHA - 默认值=false)
UnversionedKubeletConfigMap=true|false (BETA - 默认值=true)

-h, —help

apiserver 操作的帮助命令

—image-repository string     默认值:”k8s.gcr.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” 之一。 “patchtype” 可以是 “strategic”、”merge” 或者 “json” 之一, 并且它们与 kubectl 支持的补丁格式相同。 默认的 “patchtype” 是 “strategic”。 “extension” 必须是”json” 或”yaml”。 “suffix” 是一个可选字符串,可用于确定首先按字母顺序应用哪些补丁。

—service-cidr string     默认值:”10.96.0.0/12”

指定服务 VIP 使用 IP 地址的其他范围。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统路径。

生成 kube-controller-manager 静态 Pod 清单

概要

生成 kube-controller-manager 静态 Pod 清单

  1. 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     默认值:”k8s.gcr.io”

选择要从中拉取控制平面镜像的容器仓库

—kubernetes-version string     默认值:”stable-1”

为控制平面选择特定的 Kubernetes 版本。

—patches string

包含名为 “target[suffix][+patchtype].extension” 的文件的目录。 例如,”kube-apiserver0+merge.yaml” 或者 “etcd.json”。 “patchtype” 可以是 “strategic”、”merge” 或 “json” 之一,分别与 kubectl 所支持的 patch 格式相匹配。默认的 “patchtype” 是 “strategic”。 “extension” 必须是 “json” 或 “yaml”。 “suffix” 是一个可选的字符串,用来确定按字母顺序排序时首先应用哪些 patch。

—pod-network-cidr string

指定 Pod 网络的 IP 地址范围。如果设置,控制平面将自动为每个节点分配 CIDR。

从父命令继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

生成 kube-scheduler 静态 Pod 清单

概要

生成 kube-scheduler 静态 Pod 清单

  1. kubeadm init phase control-plane scheduler [flags]

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

存储证书的路径。

—config string

kubeadm 配置文件的路径。

—dry-run

不应用任何变更;仅仅输出将会变更的内容

-h, —help

scheduler 操作的帮助命令

—image-repository string     默认值:”k8s.gcr.io”

选择要从中拉取控制平面镜像的容器仓库

—kubernetes-version string     默认值:”stable-1”

为控制平面选择特定的 Kubernetes 版本。

—patches string
包含名为 “target[suffix][+patchtype].extension” 的文件的目录。 例如,”kube-apiserver0+merge.yaml” 或者 “etcd.json”。 “patchtype” 可以是 “strategic”、”merge” 或 “json” 之一,分别与 kubectl 所支持的 patch 格式相匹配。默认的 “patchtype” 是 “strategic”。 “extension” 必须是 “json” 或 “yaml”。 “suffix” 是一个可选的字符串,用来确定按字母顺序排序时首先应用哪些 patch。
—scheduler-extra-args <逗号分隔的 ‘key=value’ 键值对>

一组 <flagname>=<value> 形式的额外参数,用来传递给调度器 或者覆盖其默认参数配置

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase etcd

根据静态 Pod 文件,使用以下阶段创建一个本地 etcd 实例。

为本地 etcd 生成静态 Pod 的清单文件

概要

此命令并非设计用来单独运行。请参阅可用子命令列表。

  1. kubeadm init phase etcd [flags]

选项

-h, —help

etcd 操作的帮助命令

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

为本地单节点 etcd 实例生成静态 Pod 清单文件

概要

为本地单节点 etcd 实例生成静态 Pod 清单文件

  1. kubeadm init phase etcd local [flags]

示例

  1. # 为 etcd 生成静态 Pod 清单文件,其功能等效于 kubeadm init 生成的文件。
  2. kubeadm init phase etcd local
  3. # 使用从配置文件读取的选项为 etcd 生成静态 Pod 清单文件。
  4. kubeadm init phase etcd local --config config.yaml

选项

—cert-dir string     默认值:”/etc/kubernetes/pki”

存储证书的路径。

—config string

kubeadm 配置文件的路径。

-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

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase upload-config

可以使用此命令将 kubeadm 配置上传到集群。或者使用 kubeadm config

上传 kubeadm 和 kubelet 配置到 ConfigMap 中

概要

此命令并非设计用来单独运行。请参阅可用的子命令列表。

  1. kubeadm init phase upload-config [flags]

选项

-h, —help

upload-config 操作的帮助命令

从父命令中继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

将所有配置上传到 ConfigMap

概要

将所有配置上传到 ConfigMap

  1. kubeadm init phase upload-config all [flags]

选项

—config string

kubeadm 配置文件的路径。

-h, —help

all 操作的帮助命令

—kubeconfig string     默认值:”/etc/kubernetes/admin.conf”

与集群通信时使用的 kubeconfig 文件。如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。

从父命令继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

将 kubeadm ClusterConfiguration 上传到 ConfigMap

概要

将 kubeadm ClusterConfiguration 上传到 kube-system 命名空间中名为 kubeadm-config 的 ConfigMap 中。 这样就可以正确配置系统组件,并在升级时提供无缝的用户体验。

另外,可以使用 kubeadm 配置。

  1. kubeadm init phase upload-config kubeadm [flags]

示例

  1. # 上传集群配置
  2. kubeadm init phase upload-config --config=myConfig.yaml

选项

—config string

kubeadm 配置文件的路径。

-h, —help

kubeadm 操作的帮助命令

—kubeconfig string     默认值:”/etc/kubernetes/admin.conf”

与集群通信时使用的 kubeconfig 文件。如果未设置该参数,则可以在一组标准位置中搜索现有的 kubeconfig 文件。

从父命令继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

将 kubelet 组件配置上传到 ConfigMap

概要

将从 kubeadm InitConfiguration 对象提取的 kubelet 配置上传到集群中的 kubelet-config ConfigMap。

  1. kubeadm init phase upload-config kubelet [flags]

示例

  1. # 将 kubelet 配置从 kubeadm 配置文件上传到集群中的 ConfigMap。
  2. kubeadm init phase upload-config kubelet --config kubeadm.yaml

选项

—config string

到 kubeadm 配置文件的路径。

-h, —help

kubelet 操作的帮助命令

— kubeconfig string     默认值:”/etc/kubernetes/admin.conf”

与集群通信时使用的 kubeconfig 文件。如果未设置该标签, 则可以通过一组标准路径来寻找已有的 kubeconfig 文件。

从父命令继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase upload-certs

使用以下阶段将控制平面证书上传到集群。默认情况下,证书和加密密钥会在两个小时后过期。

将证书上传到 kubeadm-certs

概要

此命令并非设计用来单独运行。请参阅可用子命令列表。

  1. kubeadm init phase upload-certs [flags]

选项

—certificate-key string

用于加密 kubeadm-certs Secret 中的控制平面证书的密钥。

—config string

kubeadm 配置文件的路径。

-h, —help

upload-certs 操作的帮助命令

—kubeconfig string     默认值:”/etc/kubernetes/admin.conf”

用来与集群通信的 kubeconfig 文件。 如果此标志未设置,则可以在一组标准的位置搜索现有的 kubeconfig 文件。

—skip-certificate-key-print

不要打印输出用于加密控制平面证书的密钥。

—upload-certs

将控制平面证书上传到 kubeadm-certs Secret。

从父命令继承的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase mark-control-plane

使用以下阶段来给作为控制平面的节点 打标签(label)和记录污点(taint)。

标记节点为控制平面节点

概要

标记 Node 节点为控制平面节点

  1. kubeadm init phase mark-control-plane [flags]

示例

  1. # 将控制平面标签和污点应用于当前节点,其功能等效于 kubeadm init执行的操作。
  2. kubeadm init phase mark-control-plane --config config.yaml
  3. # 将控制平面标签和污点应用于特定节点
  4. kubeadm init phase mark-control-plane --node-name myNode

选项

—config string

kubeadm 配置文件的路径。

-h, —help

mark-control-plane 操作的帮助命令

—node-name string

指定节点名称。

从父命令继承的选项

—rootfs 字符串

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase bootstrap-token

使用以下阶段来配置引导令牌。

生成用于将节点加入集群的引导令牌

概要

启动引导令牌(bootstrap token)用于在即将加入集群的节点和控制平面节点之间建立双向信任。

该命令使启动引导令牌(bootstrap token)所需的所有配置生效,然后创建初始令牌。

  1. kubeadm init phase bootstrap-token [flags]

示例

  1. # 进行所有引导令牌配置,并创建一个初始令牌,功能上与 kubeadm init 生成的令牌等效。
  2. kubeadm init phase bootstrap-token

选项

—config string

kubeadm 配置文件的路径。

-h, —help

bootstrap-token 操作的帮助命令

—kubeconfig string     默认值:”/etc/kubernetes/admin.conf”

用于和集群通信的 kubeconfig 文件。如果它没有被设置,那么 kubeadm 将会搜索一个已经存在于标准路径的 kubeconfig 文件。

—skip-token-print

跳过打印 ‘kubeadm init’ 生成的默认引导令牌。

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

kubeadm init phase kubelet-finalize

使用以下阶段在 TLS 引导后更新与 kubelet 相关的设置。 你可以使用 all 子命令来运行所有 kubelet-finalize 阶段。

TLS 引导后更新与 kubelet 相关的设置

概要

TLS 引导后更新与 kubelet 相关的设置

  1. kubeadm init phase kubelet-finalize [flags]

示例

  1. # 在 TLS 引导后更新与 kubelet 相关的设置
  2. kubeadm init phase kubelet-finalize all --config

选项

-h, —help

kubelet-finalize 操作的帮助命令

继承于父命令的选项

—rootfs string

[实验] 到’真实’主机根文件系统的路径。

运行 kubelet-finalize 的所有阶段

概要

运行 kubelet-finalize 的所有阶段

  1. kubeadm init phase kubelet-finalize all [flags]

示例

  1. # 在 TLS 引导后更新与 kubelet 相关的设置
  2. kubeadm init phase kubelet-finalize all --config

选项

—cert-dir string     默认值: “/etc/kubernetes/pki”

保存和存储证书的路径。

—config string

kubeadm 配置文件的路径。

-h, —help

all 操作的帮助命令

继承于父命令的选项

—rootfs string

[实验] 到’真实’主机根文件系统的路径。

启用 kubelet 客户端证书轮换

概要

启用 kubelet 客户端证书轮换

  1. kubeadm init phase kubelet-finalize experimental-cert-rotation [flags]

选项

—cert-dir string     Default: “/etc/kubernetes/pki”

保存和存储证书的路径。

—config string

kubeadm 配置文件的路径。

-h, —help

experimental-cert-rotation 操作的帮助命令

继承于父命令的选项

—rootfs string

[实验] 到’真实’主机根文件系统的路径。

kubeadm init phase addon

可以使用 all 子命令安装所有可用的插件,或者有选择性地安装它们。

安装必要的插件以通过一致性测试

概要

此命令并非设计用来单独运行。请参阅可用子命令列表。

  1. kubeadm init phase addon [flags]

选项

-h, —help

addon 操作的帮助命令

继承于父命令的选项

—rootfs string

[实验] 到 ‘真实’ 主机根文件系统的路径。

安装所有插件

概要

安装所有插件(addon)

  1. 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 名称。

—feature-gates string
一组键值对(key=value),描述了各种特征。选项包括:
PublicKeysECDSA=true|false (ALPHA - 默认值=false)
RootlessControlPlane=true|false (ALPHA - 默认值=false)
UnversionedKubeletConfigMap=true|false (BETA - 默认值=true)
-h, —help

all 操作的帮助命令

—image-repository string     默认值:”k8s.gcr.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

[实验] 到 ‘真实’ 主机根文件系统的路径。

将 CoreDNS 插件安装到 Kubernetes 集群

概要

通过 API 服务器安装 CoreDNS 附加组件。请注意,即使 DNS 服务器已部署,在安装 CNI 之前 DNS 服务器不会被调度执行。

  1. kubeadm init phase addon coredns [flags]

选项

—config string

kubeadm 配置文件的路径。

—feature-gates string

一组用来描述各种特性门控的键值(key=value)对。选项是:
PublicKeysECDSA=true|false (ALPHA - 默认值=false)
RootlessControlPlane=true|false (ALPHA - 默认值=false)
UnversionedKubeletConfigMap=true|false (默认值=true)

-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

[实验] 到 ‘真实’ 主机根文件系统的路径。

将 kube-proxy 插件安装到 Kubernetes 集群

概要

通过 API 服务器安装 kube-proxy 附加组件。

  1. 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 名称。

-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

[实验] 到 ‘真实’ 主机根文件系统的路径。

有关 v1beta3 配置中每个字段的更多详细信息,可以访问 API

接下来