k8s的Ingress配置问题

1、问题发生

因node的两个节点故障,删除该节点,并重新加入新的节点,集群恢复正常后,发现之前配置的Ingress都无法访问。

解析域名配置的是coredns,将域名解析的地址还是原来的Node节点地址。

新加入的Node节点的IP地址没有变,但是域名就是无法访问。

2、排查

查看ingress-nginx的pod信息

发现ingress-nginx-controller只运行在一个节点上,并不是coredns解析的地址。

查看标签,

bash 复制代码
kubectl get nodes --show-labels | grep ingress=true

之所以目前只跑在一个节点上,是因为它被部署成了 DaemonSet,并且设置了 节点选择器(Node Selector)

bash 复制代码
NODE SELECTOR:  ingress=true

如何让 Ingress Controller 运行在多个节点上?

给多个节点打上 ingress=true 标签

bash 复制代码
kubectl label node k8s-node04 ingress=true
kubectl label node k8s-node05 ingress=true
kubectl label node k8s-node06 ingress=true

观察 DaemonSet 自动扩展

bash 复制代码
kubectl get pods -n ingress-nginx -o wide

看到每个打了标签的节点上都跑起了一个 Ingress Controller Pod。

再次访问域名就恢复正常了

相关推荐
lwx9148525 小时前
Docker-安装SSH服务
docker·容器·ssh
艾伦_耶格宇9 小时前
【kubernetes - 1.28版本】-11 K8S核心组件
java·容器·kubernetes
时间售卖铺10 小时前
Docker实战:一键部署轻量级容器
运维·docker·云原生
月落汀兰10 小时前
拒绝配置写死镜像!K8s 存储卷与配置管理,PV/PVC、ConfigMap、Secret 实战避坑指南
运维·kubernetes
艾伦_耶格宇11 小时前
【kubernetes - 1.28版本】-10 K8S命名空间
云原生·容器·kubernetes
tedcloud12314 小时前
Docker Compose 部署 Uptime Kuma:配置 HTTPS、QQ 邮箱告警与数据备份
服务器·网络协议·ui·docker·容器·https·开源
syntaxsage14 小时前
Dive:Docker 镜像层可视化分析工具
运维·其他·docker·容器
java_logo14 小时前
Docker 部署 Samba:轻松搭建局域网文件共享
运维·docker·容器·文件共享·samba·smb·轩辕镜像
草莓熊Lotso15 小时前
【C++ 基于微服务的即时通讯系统】网关基建:cpp-httplib 与 WebSocketpp 从入门到实战
linux·开发语言·数据库·c++·redis·微服务·云原生
todoitbo1 天前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器