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

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

嗨,我在尝试访问使用 Google 容器引擎托管的 Kubernetes 集群时遇到了问题。我想从外部/远程服务器 (Circle CI) 使用 kubectl,我安装了 gcloud 和 kubectl,我可以使用以下方式不安全地访问我的集群

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

我希望能够使用 gcloud 容器集群概览中“显示凭据”页面中提供的证书安全地访问它。因此,我创建了一个包含此证书字符串的 ca.crt,并通过 --certificate-authority 标志传递了它,但我收到了错误:

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

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

非常感谢,安迪

答案1

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

相关内容