跳至内容

Amazon VPC

Amazon VPC CNI 使用原生 AWS 网络为 Pod 提供网络。每个 Pod 在其运行的节点上获得一个弹性网络接口 (ENI),以及一个属于分配给该节点的子网的 IP 地址。

警告:Amazon VPC CNI 与 Ubuntu 22.04 和早于 1.29 版本的 kOps 不兼容。有关更多信息,请参阅 kubernetes/kops#15720aws/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 插件的日志文件。此目录位于集群中的所有节点中。