我已经创建了由 Kubernetes API 服务器的 CA 签名的私钥和证书。我已经在
~/.kube/config
文件中配置了用户、集群和上下文。使用用户拥有客户端证书和密钥的上下文,使用 client-go 库对 Kubernetes API 服务器进行 API 调用的过程是什么。
在本文档中,可以找到以下摘录:
以及使用它的工具(例如k8s.io/client-go
和kubectl
)能够执行外部命令来接收用户凭据。 (...)kubelet
针对 API 进行身份验证:
- 用户发出
命令。kubectl
- 凭证插件提示用户输入 LDAP 凭证,与外部服务交换凭证以获得令牌。
- 凭证插件将令牌返回给 client-go,client-go 将其用作针对 API 服务器的不记名令牌。
- API 服务器使用 webhook 令牌验证器 向外部服务提交
。TokenReview
- 外部服务验证令牌上的签名并返回用户的用户名和组。
另请参阅: