Kubernetes 舵无法连接到GKE中的舵柄
运行Kubernetes 舵无法连接到GKE中的舵柄,kubernetes,google-kubernetes-engine,kubernetes-helm,Kubernetes,Google Kubernetes Engine,Kubernetes Helm,运行helmversion或helmlist kubectl port-forward -n kube-system tiller-deploy-xxxxxxxxxxxxxxx 44134 error: error upgrading connection: error dialing backend: No SSH tunnels currently open. Were the targets able to accept an ssh-key for user "gke-xxxxxxxxx
helmversion
或helmlist
kubectl port-forward -n kube-system tiller-deploy-xxxxxxxxxxxxxxx 44134
error: error upgrading connection: error dialing backend: No SSH tunnels currently open. Were the targets able to accept an ssh-key for user "gke-xxxxxxxxxxx"?
根本问题似乎与GKE端口转发有关。ssh密钥是否可以在任何地方配置?我可以看到这个键被添加到我的元数据中,但它不是GKE节点元数据的一部分 问题可能与以下方面有关。请查收零件
Q: On GKE (Google Container Engine) I get “No SSH tunnels currently open”
- 舵手正在向舵柄发起一次短暂的
kubectl港口前进
- Kubectl端口转发依赖于集群的主机能够与集群中的节点通信。但是,由于主机与集群的节点不在同一个计算引擎网络中,因此我们依靠SSH隧道来实现安全通信
- GKE在计算引擎项目元数据中保存SSH公钥文件。所有使用Google提供的映像的计算引擎VM都会定期检查其项目的公共元数据和实例的元数据,以获取SSH密钥,从而添加到VM的授权用户列表中。GKE还向您的计算引擎网络添加了防火墙规则,允许SSH从主机的IP地址访问集群中的每个节点
kubectl
命令没有运行,那么很可能是主节点无法打开与节点的SSH隧道。检查以下潜在原因:
如果将集群中的节点数缩减为零,SSH隧道将无法工作李> 要修复它,请至少有一个节点
这是一个只会影响Kubernetes 1.1版的问题,但可能是由重复调整集群大小引起的
GKE集群名称随机字符SSH
,允许SSH专门从集群的主IP访问集群的节点。如果这两个规则都不存在,那么主机将无法打开SSH隧道gcloud compute project-info describe [--project=PROJECT]
然后检查ssh密钥列表的长度gcloud compute instances description
,并在元数据中查找“ssh keys”字段注意:作为旁注,我还建议尝试:
它不再需要Tiller安装,有很多新功能,并且在GKE上受支持。我今天也遇到了同样的问题,我只是创建了一个新的节点池,封锁了第一个池,所以GKE新节点池进程将创建所有新的防火墙规则,我只是取消了第一个节点轮询并删除了第一个池。你尝试过吗?@hoque,是的,我看看。防火墙规则看起来都很好。我还尝试删除我的旧~/.kube/config并重新生成整个集群,但出现了相同的错误。你是否能够运行
kubectl proxy
或kubectl port forward
?@willrof,我可以运行kubectl proxy
,但不能运行kubectl port forward
。你好@willrof。谢谢你。不幸的是,Helm3还不是一个选项,因为我们的图表只与helm2兼容。@turnupthechill我理解,我希望提供的说明能帮助您解决问题。我还建议创建一个新集群并进行测试以比较参数。如果你认为我的回答是一个很好的研究和耗时的想法,我将不胜感激。将尝试创建一个新的集群以及其他建议。再次感谢您的回答。我试过了,但没用。