赶紧记录下:

问题:同一个node内的pod之间无法通信,其他node的ingress转发请求不到另外的pod上

解决办法

  • 防止FORWARD的DROP策略影响转发,给docker daemon添加下列参数修正,当然暴力点也可以iptables -P FORWARD ACCEPT
  • mkdir -p /etc/systemd/system/docker.service.d/
    cat>/etc/systemd/system/docker.service.d/10-docker.conf<<EOF
    [Service]
    ExecStartPost=/sbin/iptables --wait -I FORWARD -s 0.0.0.0/0 -j ACCEPT
    ExecStopPost=/bin/bash -c '/sbin/iptables --wait -D FORWARD -s 0.0.0.0/0 -j ACCEPT &> /dev/null || :'
    ExecStartPost=/sbin/iptables --wait -I INPUT -i cni0 -j ACCEPT
    ExecStopPost=/bin/bash -c '/sbin/iptables --wait -D INPUT -i cni0 -j ACCEPT &> /dev/null || :'
    EOF
    需要重载配置systemctl daemon-reload  systemctl restart docker
  • 需要注意是否有/etc/cni/net.d/10-calico.conflist  文件残留,如果有残留需要删除