Google kubernetes engine kubectl无法连接GKE,x509失败:证书由未知机构签名

Google kubernetes engine kubectl无法连接GKE,x509失败:证书由未知机构签名,google-kubernetes-engine,gcloud,kubectl,Google Kubernetes Engine,Gcloud,Kubectl,我无法从我的机器连接到任何GKE群集。从远程机器,它在工作,但不是从我的,我不知道为什么。如果你们有些人知道 我已从gcloud中安装了kubectl gcloud组件安装kubectl 我正在运行gcloud init,然后在现有集群或新创建的具有gcloud容器集群的集群上创建我的集群-可抢占-集群版本1.12.7-gke.10-机器类型n1-standard-1-磁盘大小20-节点数1 我正在使用gcloud容器集群检索我的凭据获取凭据我的集群-zone europe-west1-b-pr

我无法从我的机器连接到任何GKE群集。从远程机器,它在工作,但不是从我的,我不知道为什么。如果你们有些人知道

我已从gcloud中安装了kubectl gcloud组件安装kubectl

我正在运行gcloud init,然后在现有集群或新创建的具有gcloud容器集群的集群上创建我的集群-可抢占-集群版本1.12.7-gke.10-机器类型n1-standard-1-磁盘大小20-节点数1

我正在使用gcloud容器集群检索我的凭据获取凭据我的集群-zone europe-west1-b-project my-project-123456,它为我的kubectl创建了一个新上下文。使用kubectx切换到它

但是,当我尝试联系我的群集时,例如kubectl get pods,它会失败,并显示以下消息:

无法连接到服务器:x509:由未知授权机构签署的证书

我就是不明白为什么我当地的kubectl不能验证GoogleCA。 我跟踪了我找到的所有资源,尝试了其他区域/地区的其他集群,使用了不同版本的python 2.7和3.6,re init gcloud,使用了另一个Google帐户,kubectl 1.11、1.12和1.14的另一个版本,在Linux Mint 19.1 Tessa中更新我的CA sudo更新CA证书

有人已经面对这个问题并找到了解决方案吗?

简单的方法是运行gcloud auth login,如图所示:

gcloud auth login-授权gcloud使用Google用户凭据访问云平台

通过基于web的授权流获取用户帐户的访问凭据。此命令成功完成后,将当前配置中的活动帐户设置为指定的帐户。如果不存在配置,它将创建一个名为default的配置。 用于查看已认证的帐户

这将要求您使用您的帐户登录到,并要求允许访问:

通过谷歌云平台服务查看和管理您的数据

查看和管理您的Google计算引擎资源>

查看和管理部署在Google App Engine上的应用程序


有关如何登录的过程,请参阅此处。

如果有人在登录后遇到此问题,此解决方案对我有效

gcloud container clusters get-credentials YOURCLUSTERHERE --zone YOURCLUSTERZONEHERE

在您填写信息并运行它之后,您应该能够继续前进

这个问题发生在我身上,因为我有一个错误的证书。可能由于terraform无法连接到远程集群的相关原因而发生。 要使用已设置的默认kubeconfig凭据,您可以将提供程序保留为空

provider "kubernetes" {
}

大家都知道,我这边的问题,以及为什么我有时会因为连接工作而导致混乱结果的原因,是因为在我的专业网络上,我有一个MITM代理,它用我公司的证书替代了谷歌证书


所以。。。该证书被kubectl拒绝。。。非常正常。

您尝试过glogin auth登录吗?。。。不它正在工作。我不明白发生了什么事。当然,我刚才运行了gcloudauth登录。我不知道为什么我需要再运行一次。好感谢您的简短、快速和简单的解决方案-你回答了问题,没有评论。不客气:我尝试了glogin auth登录,但没有解决问题。是否还有其他配置?