kevendeng 我重新部署了好几遍,用不同方式,都可以复现这个问题,这个是coredns的日志

    ShadowOvO 更改标题为「K8s pod 容器无法ping通外网, kubesphere devOps 无法使用

    ShadowOvO 看起来是向100.100.2.138(136)解析gitee.com超时,这两个应该是阿里云的dns,可以咨询下阿里云ecs服务

      修改dns配置后还需要重启coredns才生效

      另外可以贴下你的coredns配置吗,kubectl get cm -n kube-system coredns -oyaml

        ShadowOvO 我记得你说过在POD内ping不通114对吧?如果是无法连接外网,那问题的根源不在coredns,而是整个网络连接的问题。
        从你POD内的ip route看上去,POD网络设置是没问题的,试试在节点上执行iptables-save看看是否设置了正确的拦截规则与转发规则。

        可以在宿主机上抓包看pod访问外网的流量,然后看看flannel的配置/run/flannel/subnet.env是否和flannel.1的地址匹配

        建议咨询阿里云服务排查相关网络配置是否正确,如安全组、防火墙等

          ShadowOvO IP-MASQ应该是flannel自己做的,你的flannel是怎么安装的呢,为什么会有这个问题。

            ShadowOvO 你是先在Linux上用kk安装了K8S与KS,CNI用的Calico,然后卸载了Calico,自己手动apply flannel的yaml安装的flannel?

              ShadowOvO 你的flannel设置的集群ip地段是10.244.0.0/16
              但是你这个节点分到的ip段是10.1.0.0/24,不在集群ip段里
              iptables规则里,flannel已经设置好了该有的masq规则,但是因为没有覆盖到节点ip段,导致masq失败,也就是pod不能连通外网
              即使是手动加了masq规则,你目前的配置也只能支持一个节点的k8s运行,如果添加节点,网络还是会出错
              至于为什么节点分配到的ip不在集群ip配置的范围内,值得研究