一次nodeport无法访问的异常
突然某天nodeport无法访问,先是看了pod日志,没有发现报错,后面一路排查kube-proxy,各种修改还是没有找到对应的解决办法,也尝试了重建SVC,发现还是不行,最终问题定位如下:
Error from server: error when creating "deploy.yml": Get "https://[::1]:6443/api/v1/namespaces/kube-system/resourcequotas": dial tcp [::1]:6443: connect: network is unreachable
对于这个报错,从字面意识上面看是由于IPV6的原因,就是无法访问API的IPV6地址,找了一堆网址要把各种IPV6都给放开,发现还是不行,最终找到解决办法
修改/etc/sysctl.conf文件,将IPV6给打开,包括master和node
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
将这三行的1改为0,然后命令行生效 sysctl --system
也许上面的方法可以会给以后带来不少的麻烦,但是先解决这个问题再看其他的问题
期间还有coredns的pod无法出现的问题:
修改coredns的cm配置:
kubectl edit cm coredns -n kube-system
将loop这一行去掉
kubectl -n kube-system edit cm coredns -o yaml
forward . /etc/resolv.conf {
prefer_udp
max_concurrent 1000
}
删除上述行
再删除coredns
kubectl delete pod -n kube-system -l k8s-app=kube-dns