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

Kubernetes 使用GKE时获取kubectl客户端密钥和证书,kubernetes,google-kubernetes-engine,Kubernetes,Google Kubernetes Engine,我正在编写一个Go二进制文件,它将在本地机器上运行。我希望使用kubernetes API对GKE集群进行身份验证。如何获取客户端密钥和证书 (请注意,kubernetes服务帐户似乎不合适,因为我的二进制文件本身不在群集上运行。我不想在本地安装gcloud,因为我可能想将我的二进制文件分发给其他人,因此我无法使用gcloud auth helper流。)您无法从GKE获得它,因为GCP不会为您公开CA密钥来创建客户端证书/密钥对,以便您使用集群进行身份验证。该密钥位于Kubernetes ma

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


(请注意,kubernetes服务帐户似乎不合适,因为我的二进制文件本身不在群集上运行。我不想在本地安装gcloud,因为我可能想将我的二进制文件分发给其他人,因此我无法使用gcloud auth helper流。)

您无法从GKE获得它,因为GCP不会为您公开CA密钥来创建客户端证书/密钥对,以便您使用集群进行身份验证。该密钥位于Kubernetes master中,GKE不允许您直接访问它们(由它们管理)。我建议你使用一种新的方法


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

我在使用AKS设置客户端证书身份验证时遇到了很大的困难,使用AKS+为SA使用令牌来获得客户端证书签名完全节省了时间。谢谢