记一次K8S配置Ingress后访问504故障
- 故障现象
正常配置Ingress后使用域名访问网站504 - 原因分析
发现pod节点的docker和flanneld网段不在同一个网段
如下图所示
- 处理过程
重启flanneld和docker后网段还不在同一个网段
发现systemctl的docker配置文件恢复了初始配置
原因是因为把docker从24升级为26后配置文件恢复到初始配置 - 解决办法
把docker.service配置文件修改匹配flanneld配置文件
# cat /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
EnvironmentFile=/run/flannel/subnet.env
ExecStart=/usr/bin/dockerd $DOCKER_NETWORK_OPTIONS
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
重启flanneld和docker
注意启动顺序先启动flanneld再启动docker
# systemctl restart flanneld
# systemctl restart docker
查看网段在一起即可