Kubernetes/Container 引擎:TLS 握手超时
Kubernetes/Container Engine: TLS handshake timeout
大约 7 小时前,我在使用 kubectl 时没有遇到任何问题。现在(经过几个小时的睡眠,并重新启动我的计算机)所有 kubectl get 命令都给我这个错误:
Unable to connect to the server: net/http: TLS handshake timeout
我没有做任何事情,因为它除了关闭我的电脑外还有效。
由于我是 Kubernetes 和 GCE 的新手,所以我需要一些提示,了解这可能是什么,以及在哪里寻找。
所以我发现了问题。
kubernetes 被设置为使用错误的上下文和集群(我创建了一个 GC 项目并再次删除它,然后创建了一个新项目)。
我从 GC 获得了新凭据:
gcloud container clusters get-credentials CLUSTER_NAME_FROM_GC
要获取我使用的新上下文名称和集群名称:
kubectl config view
并更新我使用的当前上下文和集群:
kubectl config set-cluster CLUSTER_NAME_FROM_CREDENTIALS
kubectl config set-context CONTEXT_NAME_FROM_CREDENTIALS
这解决了问题。
大约 7 小时前,我在使用 kubectl 时没有遇到任何问题。现在(经过几个小时的睡眠,并重新启动我的计算机)所有 kubectl get 命令都给我这个错误:
Unable to connect to the server: net/http: TLS handshake timeout
我没有做任何事情,因为它除了关闭我的电脑外还有效。
由于我是 Kubernetes 和 GCE 的新手,所以我需要一些提示,了解这可能是什么,以及在哪里寻找。
所以我发现了问题。
kubernetes 被设置为使用错误的上下文和集群(我创建了一个 GC 项目并再次删除它,然后创建了一个新项目)。
我从 GC 获得了新凭据:
gcloud container clusters get-credentials CLUSTER_NAME_FROM_GC
要获取我使用的新上下文名称和集群名称:
kubectl config view
并更新我使用的当前上下文和集群:
kubectl config set-cluster CLUSTER_NAME_FROM_CREDENTIALS
kubectl config set-context CONTEXT_NAME_FROM_CREDENTIALS
这解决了问题。