![为什么即使我的 EKS 集群中启用了 Ipv4Prefix,我也无法安排更多 Pod](https://linux22.com/image/792828/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8D%B3%E4%BD%BF%E6%88%91%E7%9A%84%20EKS%20%E9%9B%86%E7%BE%A4%E4%B8%AD%E5%90%AF%E7%94%A8%E4%BA%86%20Ipv4Prefix%EF%BC%8C%E6%88%91%E4%B9%9F%E6%97%A0%E6%B3%95%E5%AE%89%E6%8E%92%E6%9B%B4%E5%A4%9A%20Pod.png)
我使用 cilium 作为我的 CNI。我已成功运行cilium connectivity test
并且所有测试都通过。我的节点组安排了t3.small
3 个节点,这使我可以在不Ipv4Prefix
启用的情况下运行 11 个 pod。现在我已Ipv4Prefix
通过运行启用
kubectl set env daemonset aws-node -n kube-system ENABLE_PREFIX_DELEGATION=true
当我跑步时:
kubectl describe daemonset -n kube-system aws-node | grep ENABLE_PREFIX_DELEGATION
我得到:
ENABLE_PREFIX_DELEGATION: true
ENABLE_PREFIX_DELEGATION: true
ENABLE_PREFIX_DELEGATION: true
我还通过运行以下命令安装了 cilium:
helm install cilium cilium/cilium --version 1.15.0 --namespace kube-system --set eni.enabled=true --set ipam.mode=eni --set eni.awsEnablePrefixDelegation=true --set egressMasqueradeInterfaces=eth0
并像这样修补守护进程:
kubectl -n kube-system patch daemonset aws-node --type='strategic' -p='{"spec":{"template":{"spec":{"nodeSelector":{"io.cilium/aws-node-enabled":"true"}}}}}'
我可以看到所有的 pod 都运行良好。
我还可以看到前缀已分配给 eni:
aws ec2 describe-network-interfaces --region eu-west-2 --network-interface-ids eni-0eb1aff34572830d6 | grep Ipv4Prefix
"Ipv4Prefixes": [
"Ipv4Prefix": "10.0.1.112/28"
"Ipv4Prefix": "10.0.1.224/28"
问题
我知道t3.small
实例的最大 Pod 数量为 110,但我仍然无法为每个实例安排超过 11 个 Pod。可能是什么问题?
错误
0/3 nodes are available: 3 Too many pods. preemption: 0/3 nodes are available: 3 No preemption victims found for incoming pod.
启用 IPV4 前缀时不应该出现这种情况