从远程服务器安全地使用kubectl访问kubernetes(通过谷歌容器引擎托pipe)

您好,我遇到了试图访问我的Kubernetes集群使用谷歌容器引擎托pipe的问题。 我想从外部/远程服务器使用kubectl(Circle CI)我安装了gcloud和kubectl,并且可以不安全地访问我的集群

kubectl get pods --server="https://ENDPOINT_IP" --username="USERNAME" --password="PASSWORD" --insecure-skip-tls-verify=true 

我希望能够使用gcloud容器集群概述的“显示凭据”页面中提供的证书安全地访问它。 所以我创build了一个ca.crt与这个证书string,并通过–certificate-authority标志传递它,但我得到一个错误:

 error: couldn't read version from server: Get https://ENDPOINT_IP: x509: certificate signed by unknown authority 

我如何获得我的证书签名?

非常感谢,安迪

如果您安装了gcloud ,则应该能够运行gcloud container clusters get-credentials NAME ,它将获取允许kubectl安全连接到托pipe的apiserver的客户端凭据。 它将包括集群的ca.crt(用于validation服务器端点)和客户端证书(用于validation而不是密码)。 凭证将被存储在一个“kubeconfig”文件中(默认情况下位于~/.kube/config ,这也是kubectl在默认情况下会尝试加载凭证的位置。