使用下面的 kubeadm init 命令创建集群
kubeadm init \
--control-plane-endpoint "kube-api:6443" \
--upload-certs \
--pod-network-cidr=10.0.0.0/8 \
--skip-phases=addon/kube-proxy
使用下面的 helm 命令安装 cilium
helm install cilium cilium/cilium --version 1.18.1 \
--namespace kube-system \
--set kubeProxyReplacement=true \
--set k8sServiceHost=kube-api \
--set k8sServicePort=6443
部署后有一个 pod 无法启动
root@kube-cp-01 ~ # kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
cilium-envoy-g52nc 1/1 Running 0 64m
cilium-operator-f55dcff7-744x2 0/1 Pending 0 64m
cilium-operator-f55dcff7-lvvrm 1/1 Running 0 64m
错误日志:
0/1 nodes are available: 1 node(s) didn't have free ports for the requested pod ports
安装方法参考自 Kubernetes Without kube-proxy
通过改用 cilium cli 安装解决了
root@kube-cp-01 ~ # cilium install --version 1.18.1 \
--namespace kube-system \
--set bpf.masquerade=true \
--set kubeProxyReplacement=true
ℹ️ Using Cilium version 1.18.1
🔮 Auto-detected cluster name: kubernetes
🔮 Auto-detected kube-proxy has not been installed
ℹ️ Cilium will fully replace all functionalities of kube-proxy