当前位置: 首页 > 知识库问答 >
问题:

Kubernetes Nginx入口控制器就绪探测失败

梁丘烨
2023-03-14

我正在尝试设置我的第一个Kubernetes集群,它似乎已经设置好,直到nginx-ingress控制器。以下是我的集群信息:节点:三个RHEL7和一个RHEL8节点,主服务器运行在RHEL7Kubernetes服务器版本:1.19.1网络使用:Frannel coredns运行良好。在所有节点上禁用selinux和防火墙

然后,我按照以下页面中的说明安装了nginx入口控制器:https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/

我决定使用daemon-set,而不是部署,因为在我的kubernetes集群中只有几个节点运行。

按照说明操作后,我的RHEL8上的pod总是出现以下错误:

就绪探测失败:获取“http://10.244.3.2:8081/nginx-ready”:拨号tcp 10.244.3.2:8081:connect:连接拒绝后退重启容器失败

所有节点的设置方式完全相同,没有区别。我对Kubernetes很陌生,不太了解它的内部结构。有人能告诉我如何调试和修复这个问题吗?我真的很愿意从这样的问题中学习。

    null
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
kubectl apply -f kube-flannel.yml

应用节点选择器修补程序

kubectl patch ds/kube-flannel-ds-amd64 --patch "$(cat node-selector-patch.yml)" -n=kube-system

谢谢

共有1个答案

周培
2023-03-14

根据kubernetes文档,支持的主机操作系统列表如下:

  • Ubuntu 16.04+
  • Debian 9+
  • Centos 7
  • Red Hat Enterprise Linux(RHEL)7
  • 软呢帽25+
  • Hypriotos v1.0.1+
  • Flatcar容器Linux(用2512.3.0测试)

本文提到RHEL 8存在网络问题:

 类似资料:
  • 我试图在Azure中新部署的aks Kuberbetes(1.9.6)集群中部署zalenium helm chart。但我不让它起作用。豆荚给出了下面的日志: 描述pod给出:警告不健康4M(x12超过6M)kubelet,aks-agentpool-93668098-0就绪探测失败:HTTP探测失败,状态代码:502 Zalenium图像版本:Dosel/Zalenium:3 如果使用Kube

  • 在上使用helm upgrade命令运行容器时,出现了以下错误: “准备探测失败:获取http://172.17.0.6:3003/:拨号tcp 172.17.0.6:3003:GetSockopt:连接拒绝”。

  • 我使用的是标准的skydns RC/SVC YAMLS。 吊舱描述: (etcd) 我还将放入kube2sky容器中,ca.crt与服务器上的ca.crt匹配。

  • 我正在尝试设置istio1。5.1在minicube kubernetes集群中,我遵循Knative的官方文档,在不使用侧车注入的情况下设置istio。我我面临istio入口网关服务的问题,该服务将入口网关服务的外部ip显示为。我已经浏览了这里发布的其他答案,以及许多其他论坛,但没有一个对我有帮助。 使用Minikube v1.9.1与驱动=无头盔v2.16.5 kubectl v1.18.0

  • 我有一个简单的OpenShift设置与服务配置2后端荚。分离舱已经配置好了就绪探测器。该服务通过节点端口公开。所有这些配置都很好,工作正常。一旦就绪性探测失败,服务将pod标记为不可达,任何新的请求都不会被路由到POD。 场景1:我执行CURL命令来访问服务。当curl命令执行时,我引入了pod-1的准备失败。我看到没有新请求发送到pod-1。这是FINE 场景 2:我使用 Java Client