Amazon VPC ¶
Amazon VPC CNI 使用原生 AWS 网络为 Pod 提供网络。每个 Pod 在其运行的节点上获得一个弹性网络接口 (ENI),以及一个属于分配给该节点的子网的 IP 地址。
警告:Amazon VPC CNI 与 Ubuntu 22.04 和早于 1.29 版本的 kOps 不兼容。有关更多信息,请参阅 kubernetes/kops#15720 和 aws/amazon-vpc-cni-k8s#2103(修复通过 kubernetes/kops#16313 在 kOps 1.29 中应用)。
安装 ¶
要使用 Amazon VPC,请在集群规范中指定以下内容
networking:
amazonvpc: {}
在集群规范文件中,或在命令行中向 kOps 传递 --networking amazonvpc
选项。
export ZONES=<mylistofzones>
kops create cluster \
--zones $ZONES \
--networking amazonvpc \
--yes \
--name myclustername.mydns.io
重要事项:Pod 使用 VPC CIDR,即主节点、节点和内部 k8s 网络之间没有隔离。此外,此 CNI 不会强制执行网络策略。
配置 ¶
Amazon VPC CNI 插件的配置选项 可以通过在集群规范中定义的环境变量来设置。
networking:
amazonvpc:
env:
- name: WARM_IP_TARGET
value: "10"
- name: AWS_VPC_K8S_CNI_LOGLEVEL
value: debug
故障排除 ¶
如果遇到任何问题,目录 /var/log/aws-routed-eni
包含 CNI 插件的日志文件。此目录位于集群中的所有节点中。