k3s 集群中的所有节点都无法访问 NodePort

k3s 集群中的所有节点都无法访问 NodePort

我有一个 3 节点k3s集群,使用以下命令在全新安装的 Ubuntu 服务器 22.04 上安装:

# first server
curl -sfL https://get.k3s.io | sh -s - server --cluster-init
# other two
curl -sfL https://get.k3s.io | K3S_TOKEN='$K3S_TOKEN' sh -s - server \
--server '$K3S_URL'

创建一个简单的“hello world”pod 和NodePort服务后,我注意到我只能从运行该 pod 的节点访问该 pod。我还注意到它kube-proxy没有运行,而我很确定它应该在运行。

我检查了日志,发现这两行重复了,但没有其他与之相关的内容kube-proxy

Feb 27 16:03:01 bigrig k3s[1621]: time="2024-02-27T16:03:01-05:00" level=info msg="Running kube-proxy --cluster-cidr=10.42.0.0/16 --conntrack-max-per-core=0 --conntrack-tcp-timeout-close-wait=0s --conntrack-tcp-timeout-established=0s --healthz-bind-address=127.0.0.1 --hostname-override=bigrig --kubeconfig=/var/lib/rancher/k3s/agent/kubeproxy.kubeconfig --proxy-mode=iptables"
Feb 27 16:03:01 bigrig k3s[1621]: I0227 16:03:01.445209    1621 server.go:632] "kube-proxy running in dual-stack mode" primary ipFamily="IPv4"

我确保conntrack按照官方调试文档并重新启动了所有节点,但仍然无法kube-proxy访问NodePort未运行 pod 的节点。

我感觉好像漏掉了什么。我在全新安装的 Ubuntu 上设置了大部分默认k3s部署,不确定为什么这样的核心组件会失败。非常感谢您的帮助。

相关内容