阿里云 ECS 裸机使用 kube-router 作为网络插件 pod 无法访问 apiserver

154 天前
 madworld

现象:同样的配置在 VMware 里正常 在阿里云裸机 ECS 下 出现 pod 无法访问 apiserver 的情况 如果替换网络组件为 flannel 则可以正常访问 防火墙等都已关闭 net.ipv4.ip_forward 已打开 coredns logs 和 describe 都正常

集群初始化指令如下 10.1.3.10 是 master 内网 ip

sudo kubeadm init --apiserver-advertise-address 10.1.3.10 \
  --pod-network-cidr=10.244.0.0/16 \
  --kubernetes-version=v1.28.4 \
  --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \
  --skip-phases=addon/kube-proxy

kube-router 启动指令如下

curl -s https://cdn.jsdelivr.net/gh/cloudnativelabs/kube-router@v2.0.1/daemonset/generic-kuberouter-all-features.yaml \
  | sed \
    -e "s|%APISERVER%|$(kubectl get cm -n kube-public -o yaml cluster-info | sed -n 's/^ \+server: \(.\+\)/\1/p')|g" \
    -e "s|%CLUSTERCIDR%|$(kubectl get cm -n kube-system -o yaml kubeadm-config | sed -n 's/^ \+podSubnet: \(.\+\)/\1/p')|g" \
    -e "s|\(\s\+\)\"isDefaultGateway\":true,|\1\"isDefaultGateway\":true,\n\1\"hairpinMode\":true,|g" \
    -e "s|\(\s\+\)args:|\1args:\n\1- \"--advertise-loadbalancer-ip=true\"\n\1- \"--hairpin-mode=true\"|g" \
  | kubectl apply -f -

部署完成后 coredns 等都运行正常

但如果部署 metrics-server 、metallb 等插件则会提示 dial tcp 10.96.0.1:443: i/o timeout

node 节点 ifconfig

全部 service

在 node 节点 可以访问 curl -k https://10.96.0.1/version

719 次点击
所在节点    Kubernetes
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1001582

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX