使用GKE时获取kubectl客户端密钥和证书

时间:2018-11-07 00:45:50

标签: kubernetes google-kubernetes-engine

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

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

1 个答案:

答案 0 :(得分:3)

您无法从GKE获得此证书,因为GCP不会公开CA密钥供您创建客户端证书/密钥对,以供您通过集群进行身份验证。该密钥存在于Kubernetes主机中,GKE不允许您直接访问它们(它们由他们管理)。我建议您使用token

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