我已经在Google Kubernetes Engine(以前的Google容器引擎)上创建了一个群集,并在我的Windows计算机上安装了Google Cloud SDK和Kubernetes工具。
它运作良好一段时间,并且无处不在,它停止了工作。我用kubectl
发出的每个命令都会引发以下情况:
Unable to connect to the server: net/http: TLS handshake timeout
我搜索了Google,Kubernetes Github问题,堆栈溢出,服务器错误......但没有成功。
我尝试过以下方法:
.kube
文件夹(配置和缓存).kube/config
请注意,群集似乎运行正常,因为我的应用程序正在其上运行,并且可以通过Google Cloud Shell正常与其进行交互。
运行:
gcloud container clusters get-credentials cluster-2 --zone europe-west1-b --project ___
kubectl get pods
适用于Google Cloud Shell,并在我的计算机上激发TLS handshake timeout
。
答案 0 :(得分:2)
对于其他人看到这个问题,还有另一个需要考虑的原因。
完成后:
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以控制互联网访问!
答案 1 :(得分:0)
这就是我为解决上述问题所做的工作。 我只是运行以下命令::
> gcloud container clusters get-credentials {cluster_name} --zone {zone_name} --project {project_name}
> gcloud auth application-default login
适当地替换占位符。
答案 2 :(得分:0)
所以这可能不适合你在GKE,但Azure AKS(托管Kubernetes)有类似的问题与相同的错误消息,所以谁知道 - 这可能对某人有帮助。
我的解决方案是从Azure Kubernetes服务刀片Web控制台扩展群集中的节点。
我花了约2分钟的总时间。
将此添加到我在此处发布的完整故障单描述(如果您想要阅读更多信息):
'Unable to connect Net/http: TLS handshake timeout' — Why can't Kubectl connect to Azure AKS server?