Kubernetes Pod 内的互联网连接无法正常工作

Ume*_*esh 5 docker kubernetes kube-proxy kubernetes-pod kubernetes-service

无法从 Pod 内部连接到互联网

我的系统规格包括:我使用 2 个系统创建了一个 Kubernetes 集群,一个作为主节点,另一个作为工作节点。

操作系统:名称 =“Red Hat Enterprise Linux”版本 =“8.3 (Ootpa)”ID =“rhel”。

我使用以下链接安装了 Kuberenetes 集群(https://dzone.com/articles/kubernetes-installation-in-redhat-c ​​entos )

我尝试了 CALICO pod 网络和 Flannel pod 网络,因为都发生了同样的问题。无法从 Pod 内部连接到互联网

请参阅下图了解更多详情

在此输入图像描述

您可以看到所有 Pod 都已启动并正在运行。

我的 coredns pod 也已启动并正在运行,并且相应的服务也已启动,请检查下图

在此输入图像描述

调试

为了调试,我尝试使用此链接(https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/)

每当我执行 nslookup 时,它都会显示错误(;; 连接超时;无法访问服务器,命令以退出代码 1 终止)

请看下面的图片

在此输入图像描述

谁能告诉我问题到底出在哪里。为什么我无法从 Pod 内部连接到互联网

任何帮助将不胜感激,谢谢。

aci*_*uji 1

此类问题有以下几种可能性:

\n
    \n
  • 这可能不是 CoreDNS 本身的问题,而是 Kubernetes 网络问题,其中 ClusterIP 的流量未正确定向到 Pod。可能是 kube-proxy 对此负责。

    \n

    这是有关服务故障排除的Kubernetes 指南。

    \n
  • \n
  • rhel/centos 发行版的另一个常见问题是 backednftables与 kubernetes 不兼容。nftables可作为 kernel\xe2\x80\x99siptables子系统的现代替代品。

    \n

    解决方法是使用 Calico,因为从 v3.8.1+ 开始,CNI 可以在 NFT 模式下使用 iptables 的主机上运行。设置该 FELIX_IPTABLESBACKEND=NFT 选项将告诉 Calico 使用 nftables 后端。目前,这需要明确设置。

    \n
  • \n
  • 最后,您的 Pod 网络很可能与主机网络重叠。参考:安装 Pod 网络插件

    \n
  • \n
\n