k8s实践:Cilium集群下线节点导致其它节点容器网络不通
背景
# kubectl get node -owide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master1 Ready control-plane,master 376d v1.22.10 10.4.94.32 <none> Ubuntu 18.04.6 LTS 5.10.0-051000 containerd://1.6.8
master2 Ready control-plane,master 376d v1.22.10 10.4.94.21 <none> Ubuntu 18.04.6 LTS 5.10.0-051000 containerd://1.6.8
master3 Ready control-plane,master 376d v1.22.10 10.4.94.31 <none> Ubuntu 18.04.6 LTS 5.10.0-051000 containerd://1.6.8
node1 Ready control-plane,master 376d v1.22.10 10.4.94.23 <none> Ubuntu 18.04.6 LTS 5.10.0-051000 containerd://1.6.8
# helm -n kube-system list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
cilium kube-system 3 2022-12-28 17:18:33.518302411 +0800 CST deployed cilium-1.11.9 1.11.9
# kubectl -n kube-system exec -it cilium-z486s bash
root@l004094032:/home/cilium# cilium status
KVStore: Ok Disabled
Kubernetes: Ok 1.22 (v1.22.10) [linux/amd64]
Kubernetes APIs: ["cilium/v2::CiliumClusterwideNetworkPolicy", "cilium/v2::CiliumEndpoint", "cilium/v2::CiliumNetworkPolicy", "cilium/v2::CiliumNode", "core/v1::Namespace", "core/v1::Node", "core/v1::Pods", "core/v1::Service", "discovery/v1::EndpointSlice", "networking.k8s.io/v1::NetworkPolicy"]
KubeProxyReplacement: Strict [bond0 10.4.94.32 (Direct Routing)]
Host firewall: Disabled
Cilium: Ok 1.11.9 (v1.11.9-4409e95)
NodeMonitor: Listening for events on 48 CPUs with 64x4096 of shared memory
Cilium health daemon: Ok
IPAM: IPv4: 16/254 allocated from 10.5.113.0/24,
BandwidthManager: Disabled
Host Routing: BPF
Masquerading: Disabled
Controller Status: 75/75 healthy
Proxy Status: OK, ip 10.5.113.75, 0 redirects active on ports 10000-20000
Hubble: Ok Current/Max Flows: 4095/4095 (100.00%), Flows/s: 38.78 Metrics: Disabled
Encryption: Disabled
Cluster health: 4/4 reachable (2023-10-11T02:06:57Z)
root@l004094032:/home/cilium# cilium node list
Name IPv4 Address Endpoint CIDR IPv6 Address Endpoint CIDR
master1 10.4.94.32 10.5.113.0/24
master2 10.4.94.21 10.5.115.0/24
master3 10.4.94.31 10.5.114.0/24
node1 10.4.94.23 10.5.112.0/24问题定位



源码追踪
bgpSpeaker控制器
控制器初始化及启动
handler方法实现
控制器运行逻辑
结论
Last updated