我正在尝试设置我的第一个Kubernetes集群,在使用nginx-ingress控制器之前,它似乎已经设置好。 这是我的集群信息: 节点:三个RHEL7和一个RHEL8节点 Master在RHEL7上运行 Kubernetes服务器版本:1.19.1 使用的网络:法兰绒 coredns运行正常。 在所有节点上都禁用了selinux和防火墙
然后我按照以下页面上的说明安装nginx入口控制器:https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/
我决定使用守护程序集,而不是部署,因为我的kubernetes集群中将只运行几个节点。
按照说明进行操作后,我的RHEL8上的Pod经常出现以下错误:
就绪探针失败:获取“ http://10.244.3.2:8081/nginx-ready”:拨号 tcp 10.244.3.2:8081:connect:连接被拒绝退回重启 失败的容器
以下是屏幕截图,显示RHEL7 Pod正常工作并且RHEL8出现故障:
所有节点的设置方式完全相同,没有区别。 我是Kubernetes的新手,对它的内部知识也不了解。有人可以指出我如何调试和解决此问题吗?我真的很愿意从这样的问题中学习。
这是我配置RHEL7和RHEL8节点的方式
kubeadm init --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
wget https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/flannel/l2bridge/manifests/node-selector-patch.yml
kubectl patch ds/kube-proxy --patch "$(cat node-selector-patch.yml)" -n=kube-system
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
将kube-flannel.yml的net-conf.json部分修改为“ host-gw”类型
kubectl apply -f kube-flannel.yml
应用节点选择器补丁
kubectl patch ds/kube-flannel-ds-amd64 --patch "$(cat node-selector-patch.yml)" -n=kube-system
谢谢
答案 0 :(得分:0)
根据kubernetes文档,受支持的主机操作系统列表如下:
- Ubuntu 16.04 +
- Debian 9 +
- CentOS 7
- 红帽企业Linux(RHEL)7
- Fedora 25 +
- HypriotOS v1.0.1 +
- Flatcar Container Linux(已测试2512.3.0)
此article提到RHEL 8上存在网络问题:
(2020/02/11更新:安装后,我一直面临着pod网络问题,就像已部署的pod无法访问外部网络一样 或部署在不同工人中的吊舱无法相互ping通 即使我可以通过查看所有节点(主节点,worker1和worker2)都已准备就绪 kubectl获取节点。通过Kubernetes.io官方网站检查后,我发现nfstables后端与 当前的kubeadm软件包。请参考“ 确保 iptables工具不使用nfstables后端”。
这里最简单的解决方案是在支持的操作系统上重新安装该节点。