为什么即使我的 EKS 集群中启用了 Ipv4Prefix,我也无法安排更多 Pod

为什么即使我的 EKS 集群中启用了 Ipv4Prefix,我也无法安排更多 Pod

我使用 cilium 作为我的 CNI。我已成功运行cilium connectivity test并且所有测试都通过。我的节点组安排了t3.small3 个节点,这使我可以在不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 前缀时不应该出现这种情况

相关内容