两台阿里云服务器,不同区域,内网不互通,通过外网搭建集群,node成功加入集群后,master无法访问node里的pod,172.31.109.245是node的内网ip
kubectl -n kube-system logs heapster-666bf8877b-nbwnf -f
Error from server: Get https://172.31.109.245:10250/containerLogs/kube-system/heapster-666bf8877b-nbwnf/heapster?follow=true: dial tcp 172.31.109.245:10250: i/o timeout
参考博客园文章
https://www.cnblogs.com/life-of-coding/p/11879067.html#commentform
阿里云安全组开放了哪些端口?
安全组是全部开放的
@提伯斯: 172.31.109.245
阿里云服务器 VPC 的内网 IP ?
@dudu:
是的,做了一下网络转发后,master可以正常的获取node里pod信息,可以正常的ping通node里pod的ip,但是使用curl 却无法访问pod的服务,网络这块还是存在问题
iptables -t nat -I OUTPUT -d 172.31.109.245 -j DNAT --to 47.104.247.70
@提伯斯: 不应该出现 172.31.109.245
,应该出现公网 IP
@dudu:
确实是这样,但是安装的过程中默认的都是内网IP, 使用外网搭建k8s的资料太少了
@提伯斯: 试试在 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
添加 KUBELET_EXTRA_ARGS=" --node-ip=<公网IP>"
,然后 systemctl daemon-reload && systemctl restart kubelet
@提伯斯: github 上的相关 issue :kubeadm should make the --node-ip option available
@dudu:
我看了您发我的博客,并按照提示进行了修改,但是依旧没什么效果,可否方便加q联系 505613913
@提伯斯: 建议用博客详细记录一下配置过程,因为涉及很多上下文信息,别人很难帮你排查这个问题