Kubeadm join 子命令说明
加入 kubeadm 初始化集群时,我们需要建立双向信任。 这分为 discovery(使节点信任 Kubernetes 控制平面)和 TLS bootstrap(使 Kubernetes 控制平
面信任节点)。
有两种主要的发现方案。 第一种是使用共享令牌以及 API 服务器的 IP 地址。 第二个是提供一个文件-标准 kubeconfig 文件的子集。 该文件可以是本地文件,
也可以通过 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)的公钥。标志
被指定为":",其中支持的哈希类型为"sha256"。哈希是根据主题公共密钥信息(SPKI)对象的字节计算的(如 RFC7469 中所
述)。此值在"kubeadm init"的输出中可用,也可以使用标准工具进行计算。–discovery-token-ca-cert-hash 标志可以重复多次,以允许多个公共密钥。
如果您无法提前知道 CA 公钥哈希,则可以传递–discovery-token-unsafe-skip-ca-verification 标志以禁用此验证。 这会削弱 kubeadm 安全模型,因
为其他节点可能会模拟 Kubernetes 控制平面。
TLS 引导机制也通过共享令牌驱动。 这用于临时向 Kubernetes Control Plane 进行身份验证,以提交本地创建的密钥对的证书签名请求(CSR)。 默认情
况下,kubeadm 将设置 Kubernetes 控制平面以自动批准这些签名请求。该令牌与–tls-bootstrap-token abcdef.1234567890abcdef 标志一起传递。
Kubeadm token [command]子命令说明
简而言之,引导令牌用于在客户端和服务器之间建立双向信任。当客户端(例如即将加入集群的节点)需要信任与之通信的服务器时,可以使用引导令牌。 然
后可以使用带有“签名”用法的引导令牌。 引导令牌还可以用作允许对 API 服务器进行短暂身份验证的方式(令牌用作 API 服务器信任客户端的方式),例如用于执
行 TLS 引导程序。
token generate
随机生成并打印引导令牌(bootstrap tokens),但不要存入 etcd。
范例 1: 随机生成 token,打印到屏幕,不记录 etcd
kubeadm token generate
随机生成token,打印到屏幕,创建引导令牌(bootstrap tokens)并存入 etc
kubeadm token create