1. 用途与功能
-
**
token
** 是 Kubernetes 集群中通用的身份验证凭证,用于 API 访问控制。它可以是用户 Token 或服务账户 Token,通过
kubeadm token list
查看,并用于kubeadm join
加入节点时的认证。- 示例:
kubeadm token create
生成的 Token 用于节点加入集群或 API 访问。
- 示例:
-
**
discovery-token
** 是
kubeadm
初始化集群时生成的临时凭证,专门用于新节点通过 Bootstrap Token 机制发现并加入集群。它包含discovery-token-ca-cert-hash
字段,用于验证集群 CA 证书的合法性。- 示例:
kubeadm init
返回的discovery-token
用于 Worker 节点加入集群。
- 示例:
2. 生命周期与安全性
-
**
token
**- 有效期较长(默认 24 小时),可通过
kubeadm token create --ttl
调整。 - 支持动态更新,过期后需重新生成4。
- 有效期较长(默认 24 小时),可通过
-
**
discovery-token
**- 通常为一次性使用,节点加入集群后即失效。
- 需配合
--discovery-token-ca-cert-hash
使用,确保节点连接的是合法集群。
3. 使用场景
-
**
token
**- 用于 API 访问(如
kubectl
操作)或服务账户认证。 - 支持 RBAC 授权,可绑定具体权限。
- 用于 API 访问(如
-
**
discovery-token
**- 仅用于节点加入集群的初始发现阶段,不涉及后续 API 访问。
4. 数据内容
-
**
token
** 包含用户或服务账户的标识信息(如 JWT 格式的 Token)。
-
**
discovery-token
** 包含集群 CA 证书的哈希值(
discovery-token-ca-cert-hash
),用于验证集群身份。
总结
特性 | token |
discovery-token |
---|---|---|
用途 | API 访问、节点加入 | 仅用于节点发现和初始加入 |
有效期 | 较长(可配置) | 一次性或短期有效 |
安全性 | 需结合 RBAC 控制权限 | 依赖 CA 证书哈希验证集群合法性 |
生成方式 | kubeadm token create |
kubeadm init 自动生成 |