在Google Shell中连接到我的集群时,尝试运行Unable to connect to the server: dial tcp <IP> i/o timeout
时得到kubectl get pods
。无需我对集群设置进行任何更改,这一切都是从突然开始的。
gcloud beta container clusters create tia-test-cluster \
--create-subnetwork name=my-cluster\
--enable-ip-alias \
--enable-private-nodes \
--master-ipv4-cidr <IP> \
--enable-master-authorized-networks \
--master-authorized-networks <IP> \
--no-enable-basic-auth \
--no-issue-client-certificate \
--cluster-version=1.11.2-gke.18 \
--region=europe-north1 \
--metadata disable-legacy-endpoints=true \
--enable-stackdriver-kubernetes \
--enable-autoupgrade
这是当前的群集配置。
在执行此操作之前,我已经运行过gcloud container clusters get-credentials my-cluster --zone europe-north1-a --project <my project>
。
我还注意到我的计算实例丢失了其外部IP。在我们的暂存环境中,所有操作均基于相同的配置进行。
任何指针将不胜感激。
答案 0 :(得分:2)
从我所看到的发布内容中,您已经为网络<IP>
打开了主授权网络。
如果Google Cloud Shell的IP地址发生变化,这正是您所期望的确切错误。
根据https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#cloud_shell:您需要更新允许的IP地址。
gcloud container clusters update tia-test-cluster \
--region europe-north1 \
--enable-master-authorized-networks \
--master-authorized-networks [EXISTING_AUTH_NETS],[SHELL_IP]/32