现象:同样的配置在 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/[email protected]/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