AWS-EKS-04--安装 Amazon VPC CNI
摘要
-
本文介绍在EKS集群中安装 Amazon VPC CNI的过程
-
参考资料:
安装Amazon VPC CNI plugin for Kubernetes
-
Amazon VPC CNI plugin for Kubernetes 是 Amazon EKS 集群中用于 Pod 联网的联网插件。该插件负责向 Kubernetes 节点分配 VPC IP 地址并为每个节点上的 Pods 配置所需网络。
-
如果您使用 AWS Management Console 部署了集群,则可以跳过此步骤。AWS Management Console在默认情况下会部署 Amazon VPC CNI plugin for Kubernetes、CoreDNS、kube-proxy Amazon EKS 附加组件。
如果您使用 eksctl 或 AWS CLI 部署集群,则 Amazon VPC CNI plugin for Kubernetes、CoreDNS 和 kube-proxy 自行管理的附加组件将会被部署。您可以将使用您的集群部署的 Amazon VPC CNI plugin for Kubernetes、CoreDNS 和 kube-proxy 自行管理的附加组件迁移到 Amazon EKS 附加组件中。为了遵循最小特权原则,AWS建议我们将AmazonEKS_CNI_Policy
策略附加到专门用于Amazon VPC CNI附加组件的单独角色。 -
创建 IAM 角色
1 | # 确定您的集群的 IP 系列 |
-
配置好上面的IAM角色后,要从节点 IAM 角色中删除 CNI 策略
- 在角色列表中搜索 eksNodeRole、AmazonEKSNodeRole 或 NodeInstanceRole,应该存在一个,我这里就是存在 NodeInstanceRole,如果一个都不存在就先参照上文创建一个新的IAM角色
- 删除策略 AmazonEKS_CNI_Policy
- 也可以通过命令行删除角色中的策略
1
aws iam detach-role-policy --profile eks-us-west-2 --role-name eksctl-eks-lexing-nodegroup-ng-4d-NodeInstanceRole-Y28EPJO9XYDG --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
- 在角色列表中搜索 eksNodeRole、AmazonEKSNodeRole 或 NodeInstanceRole,应该存在一个,我这里就是存在 NodeInstanceRole,如果一个都不存在就先参照上文创建一个新的IAM角色
-
安装Amazon VPC CNI plugin for Kubernetes
1 | # 查看集群上当前安装的附加组件版本 |
-
此时可以通过aws控制台对eks的 Amazon VPC CNI 插件进行管理,后续升级可以直接在控制台进行
查看eks的所有可用组件
1 | # 查看都有哪些组件 |