【问题标题】:Get a kubectl client key and cert when using GKE使用 GKE 时获取 kubectl 客户端密钥和证书
【发布时间】:2018-11-07 00:45:50
【问题描述】:

我正在编写一个将在我的本地机器上运行的 Go 二进制文件。我希望使用 GKE 集群的 kubernetes API 进行身份验证。如何获取客户端密钥和证书?

(请注意,kubernetes 服务帐户似乎不合适,因为我的二进制文件本身并不在集群上运行。而且我不想必须在本地安装 gcloud,因为我可能想将我的二进制文件分发给其他人,所以我不能使用 gcloud auth 帮助流程。)

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    您无法从 GKE 获取它,因为 GCP 不会为您公开 CA 密钥来创建客户端证书/密钥对,以便您通过集群进行身份验证。该密钥位于 Kubernetes 主服务器中,而 GKE 不会让您直接访问它们(它们管理它们)。我建议您使用token

    查看我的另一个answer 了解更多详情。基本上,创建一个 ServiceAccount 并将其绑定到 Role 或 ClusterRole (RBAC)。实际上,您可以使用绑定到 ServiceAccount 的令牌在集群外部进行身份验证。

    【讨论】:

    • 我在使用 AKS 设置客户端证书身份验证时遇到了很大的麻烦,使用由 AKS 签名的客户端证书 + 使用 SA 的令牌完全节省了一天。谢谢
    猜你喜欢
    • 2020-09-25
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 2021-06-21
    相关资源
    最近更新 更多