问题一:kubectl get pods -o wide 查看deployments,显示pods 但是没有集群IP?
如下:
NAME READY STATUS RESTARTS AGE IP NODE
kubernates-bootcamp-7fddcf7f-b9s7l 1/1 Running 14 8h <none> 192.168.2.108
如果创建pods、deploy,会反复出现CrashLoopBackOff 、Running等状态。 出现这种情况是因为 kube-proxy没配置好。参考下面。
问题二: kube-proxy 启动报错 Failed to execute iptables-restore: exit status 1?
这个问题已有相关文章阐述,但解决方式是 yum remove iptables ,这种方式太暴力,依赖iptables的相关组件太多(包括Docker),执行上述命令后,都会被卸载掉(可以参考:
https://cloud.tencent.com/developer/article/1362616
)。经多次测试,非常不可取。
本人使用rpm命令方式回滚iptables版本,仅重装iptables和iptables-services即可,缺少的包可以去 ,具体操作如下:
更换iptables的版本号降低到iptables-1.4.21-24.1.el7_5.x86,去
http://rpm.pbone.net/
下载下面两个包:
iptables-1.4.21-24.1.el7_5.x86_64.rpm
iptables-services-1.4.21-24.1.el7_5.x86_64.rpm
然后非依赖移除iptables与iptables-services,命令参考如下:
rpm -e –nodeps iptables-1.4.21-33.el7.x86_64
rpm -e –nodeps iptables-services-1.4.21-33.el7.x86_64
再安装上述下载的两个新包:
rpm -ivh iptables-1.4.21-24.1.el7_5.x86_64.rpm
rpm -ivh iptables-services-1.4.21-24.1.el7_5.x86_64.rpm
(也可以将两个包放在同一目录下,执行 rpm -ivh iptables-*.rpm)
重启kube-proxy服务既可以。