针对使用 Flannel 网络模型的集群,在 Ingress Pod 中通过域名、CLB IP、Cluster IP 访问 Ingress Controller 自身时,出现请求不成功的情况。
目前,Flannel 默认配置允许回环访问。
将 Flannel 中的hairpinMode
配置恢复成默认配置。
kubectl edit cm kube-flannel-cfg -n kube-flannel
cni-conf.json
中查看hairpinMode
配置是否被修改(默认为 true),示例如下。cni-conf.json: | { "name": "cbr0", "cniVersion": "0.3.1", "plugins": [ { "type": "flannel", "delegate": { "hairpinMode": true, "isDefaultGateway": true } }, { "type": "portmap", "capabilities": { "portMappings": true } } ] }
hairpinMode
配置被修改,需要恢复成true
。配置完成后,删除当前 Flannel Pod 并等待重建。