Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GKE中与kubernetes的TLS握手超时_Kubernetes_Google Cloud Platform_Google Kubernetes Engine_Kubectl - Fatal编程技术网

GKE中与kubernetes的TLS握手超时

GKE中与kubernetes的TLS握手超时,kubernetes,google-cloud-platform,google-kubernetes-engine,kubectl,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,Kubectl,我已经在Google Kubernetes引擎(以前的Google容器引擎)上创建了一个集群,并在我的Windows机器上安装了Google Cloud SDK和Kubernetes工具 它在一段时间内运行良好,而且不知从何而来,它停止了工作。我用kubectl发出的每个命令都会引发以下问题: Unable to connect to the server: net/http: TLS handshake timeout 我搜索过谷歌,Kubernetes Github问题,堆栈溢出,服务器故

我已经在Google Kubernetes引擎(以前的Google容器引擎)上创建了一个集群,并在我的Windows机器上安装了Google Cloud SDK和Kubernetes工具

它在一段时间内运行良好,而且不知从何而来,它停止了工作。我用
kubectl
发出的每个命令都会引发以下问题:

Unable to connect to the server: net/http: TLS handshake timeout
我搜索过谷歌,Kubernetes Github问题,堆栈溢出,服务器故障。。。没有成功

我尝试了以下方法:

Unable to connect to the server: net/http: TLS handshake timeout
  • 重新启动我的电脑
  • 更改wifi连接
  • 检查我没有使用代理
  • 删除并重新创建我的群集
  • 从我的机器上卸载Google Cloud SDK(和kubectl)并重新安装
  • 删除我的
    .kube
    文件夹(配置和缓存)
  • 检查我的
    .kube/config
  • 更改集群的版本(尝试了1.8.3-gke.0和1.7.8-gke.0)
  • 几小时后重试
  • 已在PowerShell和cmd.exe上尝试
请注意,集群似乎工作得很好,因为我的应用程序在集群上运行,并且可以通过GoogleCloudShell正常与集群交互

运行:

gcloud container clusters get-credentials cluster-2 --zone europe-west1-b --project ___

kubectl get pods

在Google Cloud Shell上工作,并在我的机器上引发
TLS握手超时。

这就是我为解决上述问题所做的。 我只运行了以下命令::

> gcloud container clusters get-credentials {cluster_name} --zone {zone_name} --project {project_name}

> gcloud auth application-default login

适当地替换占位符 完成后:

gcloud config set project $PROJECT_NAME
gcloud config set container/cluster $CLUSTER_NAME
gcloud config set compute/zone europe-west2
gcloud beta container clusters get-credentials $CLUSTER_NAME --region europe-west2 --project $PROJECT_NAME
我当时看到:

kubectl cluster-info
Unable to connect to the server: net/http: TLS handshake timeout

我尝试了这里和其他地方建议的一切。当我的家庭桌面上没有出现上述问题时,我发现共享工作区wifi干扰了TLS/VPN以控制互联网访问

所以这在GKE上可能不适用,但是Azure AKS(托管Kubernetes)在相同的错误消息中也有类似的问题,所以谁知道呢?这可能对某些人有帮助

我的解决方案是从Azure Kubernetes服务刀片式web控制台扩展集群中的节点

解决方法/解决方案
  • 登录Azure(或GKE)控制台-Kubernetes服务UI
  • 将集群放大1个节点
  • 等待缩放完成并尝试连接(您应该能够)
  • 将集群缩小到正常大小以避免成本增加
  • 总共花了我约2分钟的时间

    关于这个问题的更多背景信息 将此添加到我在此处发布的完整门票描述中(如果您想要更多信息,请阅读):


    您如何设置kube配置?
    gcloud容器群集获取凭据群集-2
    此群集是否运行任何工作负载?如果是,您是否正在使用作业?谷歌云shell上的响应似乎也很慢吗?部署的POD的模糊快照会有所帮助。群集正在运行1个部署和1个服务。不使用作业。响应非常快,在谷歌云外壳上不到1秒。已部署的播客:以下是我的部署说明:。但我认为问题不在于我的工作负载/播客:
    kubectl.exe cluster info dump
    使我
    无法连接到服务器:net/http:TLS握手超时。我根本无法连接到它…谢谢,我有同样的问题。我想找到一个解决方法,因为切换到栓系来更新集群非常不方便。你知道它是如何改变连接的吗?遗憾的是没有。我使用了移动栓系,我的公司正在考虑为此找一个工作mifi。最后我们搬走了大楼,我没有任何问题了。我浪费了6个多月的时间与各种IT人员一起试图让他们解决这个问题:(