帮助改进此页面
想为本用户指南做出贡献? 滚动到页面底部,然后选择在 GitHub 上编辑此页面。您的贡献有助于我们的用户指南为每个人提供更充分的参考。
来自 AWS 的 Amazon EKS 附加组件
可在您的集群上创建以下 Amazon EKS 附加组件。您可以使用 eksctl
、AWS Management Console或 AWS CLI 查看可用附加组件的最新列表。要查看所有可用附加组件或安装附加组件,请参阅 创建 Amazon EKS 附加组件。如果附加组件需要 IAM 权限,则集群必须具有 IAM OpenID Connect(OIDC)提供商。要确定是否具有一个提供商,还是创建一个提供商,请参阅 为集群创建 IAM OIDC 提供商。安装附加组件后,您可以对其进行更新或将其删除。
您可以使用以下任何 Amazon EKS 附加组件。
描述 | 了解更多 |
---|---|
为集群提供原生 VPC 联网 |
Amazon VPC CNI plugin for Kubernetes |
灵活、可扩展的 DNS 服务器,可用作 Kubernetes 集群 DNS |
CoreDNS |
在每个 Amazon EC2 节点上维护网络规则 | Kube-proxy |
为集群提供 Amazon EBS 存储 | Amazon EBS CSI 驱动程序 |
为集群提供 Amazon EFS 存储 | Amazon EFS CSI 驱动程序 |
为集群提供 Amazon S3 存储 | 适用于 Amazon S3 的 Mountpoint CSI 驱动程序 |
实现在兼容的 CSI 驱动程序(例如 Amazon EBS CSI 驱动程序)中使用快照功能 | CSI 快照控制器 |
OpenTelemetry 项目的安全、生产就绪型发行版,由 AWS 提供支持 | 适用于 OpenTelemetry 的 AWS Distro |
用于分析和处理基础数据源的安全监控服务,包括 AWS CloudTrail 管理事件和 Amazon VPC 流日志等。Amazon GuardDuty 还处理 Kubernetes 审计日志和运行时监控等功能 | Amazon GuardDuty 代理 |
AWS 提供的监控和可观测性服务。此附加组件将会安装 CloudWatch 代理,并启用 CloudWatch Application Signals 和 CloudWatch Container Insights,从而增强 Amazon EKS 的可观测性 | Amazon CloudWatch 可观测性代理 |
能够用于管理应用程序凭证,类似于 EC2 实例配置文件为 EC2 实例提供凭证的方式 | EKS 容器组身份代理 |
Amazon VPC CNI plugin for Kubernetes
Amazon VPC CNI plugin for Kubernetes Amazon EKS 附加组件是一种 Kubernetes 容器网络接口(CNI)插件,为集群提供原生 VPC 联网功能。默认情况下,在每个 Amazon EC2 节点上安装自行管理的或托管类型的附加组件。有关更多信息,请参阅 Kubernetes container network interface (CNI) plugin
Amazon EKS 附加组件名称为 vpc-cni
。
所需的 IAM 权限
此附加组件使用 Amazon EKS 的服务账户 IAM 角色功能。如果集群使用 IPv4
系列,则需要 AmazonEKS_CNI_Policy 中的权限。如果集群使用 IPv6
系列,则必须使用 IPv6 模式
将
替换为您的集群的名称,并将 my-cluster
替换为您的角色的名称。如果集群使用 AmazonEKSVPCCNIRole
IPv6
系列,则将
替换为您创建的策略名称。此命令要求您为您的设备安装 AmazonEKS_CNI_Policy
eksctl
eksctl create iamserviceaccount --name aws-node --namespace kube-system --cluster
my-cluster
--role-nameAmazonEKSVPCCNIRole
\ --role-only --attach-policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
--approve
更新信息
您一次只能更新一个次要版本。例如,如果当前版本为 1.29.
,并且您想要更新到 x
-eksbuild.y
1.31.
,则必须首先更新到 x
-eksbuild.y
1.30.
,再更新到 x
-eksbuild.y
1.31.
。有关更新附加组件的更多信息,请参阅 更新 Amazon VPC CNI plugin for Kubernetes Amazon EKS 附加组件。x
-eksbuild.y
CoreDNS
CoreDNS Amazon EKS 附加组件是一个灵活、可扩展的 DNS 服务器,可用作 Kubernetes 集群 DNS。默认情况下,创建集群时会安装自行管理或托管类型的附加组件。当您启动具有至少一个节点的 Amazon EKS 集群时,无论集群中部署的节点数量如何,预设情况下都会部署 CoreDNS 镜像的两个副本。这些 CoreDNS Pods 为集群中的所有 Pods 提供名称解析。如果集群包含命名空间与 CoreDNS deployment
的命名空间相匹配的 定义启动时将使用 AWS Fargate 的 Pods,则可以将 CoreDNS Pods 部署到 Fargate 节点。
Amazon EKS 附加组件名称为 coredns
。
所需的 IAM 权限
此附加组件不需要任何权限。
其他信息
要了解有关 CoreDNS 的更多信息,请参阅 Kubernetes 文档中的 Using CoreDNS for Service Discovery
Kube-proxy
Kube-proxy
Amazon EKS 附加组件在每个 Amazon EC2 节点上维护网络规则。它可以实现与 Pods 的网络通信。默认情况下,在集群中的每个 Amazon EC2 节点上安装自行管理或托管类型的附加组件。
Amazon EKS 附加组件名称为 kube-proxy
。
所需的 IAM 权限
此附加组件不需要任何权限。
更新信息
在更新当前版本之前,请注意以下要求:
-
Amazon EKS 集群上的
Kube-proxy
具有与 Kubernetes 相同的兼容性和偏斜策略。
其他信息
要了解有关 kube-proxy
的更多信息,请参阅 Kubernetes 文档中的 kube-proxy
Amazon EBS CSI 驱动程序
Amazon EBS CSI 驱动程序 Amazon EKS 附加组件是一种 Kubernetes 容器存储接口(CSI)插件,为集群提供 Amazon EBS 存储。
Amazon EKS 附加组件名称为 aws-ebs-csi-driver
。
所需的 IAM 权限
此附加组件使用 Amazon EKS 的服务账户 IAM 角色功能。AmazonEBSCSIDriverPolicy
AWS 托管策略中的权限是必需的。您可以使用以下命令创建 IAM 角色并将托管策略附加到其上。将
替换为您的集群的名称,并将 my-cluster
替换为您的角色的名称。此命令要求您为您的设备安装 AmazonEKS_EBS_CSI_DriverRole
eksctl
eksctl create iamserviceaccount \ --name ebs-csi-controller-sa \ --namespace kube-system \ --cluster
my-cluster
\ --role-nameAmazonEKS_EBS_CSI_DriverRole
\ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \ --approve
其他信息
要了解有关此附加组件的更多信息,请参阅 使用 Amazon EBS 存储 Kubernetes 卷。
Amazon EFS CSI 驱动程序
Amazon EFS CSI 驱动程序 Amazon EKS 附加组件是一种 Kubernetes 容器存储接口(CSI)插件,为集群提供 Amazon EFS 存储。
Amazon EKS 附加组件名称为 aws-efs-csi-driver
。
所需的 IAM 权限
必需的 IAM 权限 – 此附加组件使用 Amazon EKS 的服务账户的 IAM 角色功能。AmazonEFSCSIDriverPolicy
AWS 托管策略中的权限是必需的。您可以使用以下命令创建 IAM 角色并为其附加托管式策略。将
替换为您的集群的名称,并将 my-cluster
替换为您的角色的名称。这些命令要求您的设备事先安装 AmazonEKS_EFS_CSI_DriverRole
eksctl
export cluster_name=
my-cluster
export role_name=AmazonEKS_EFS_CSI_DriverRole
eksctl create iamserviceaccount \ --name efs-csi-controller-sa \ --namespace kube-system \ --cluster $cluster_name \ --role-name $role_name \ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \ --approve TRUST_POLICY=$(aws iam get-role --role-name $role_name --query 'Role.AssumeRolePolicyDocument' | \ sed -e 's/efs-csi-controller-sa/efs-csi-*/' -e 's/StringEquals/StringLike/') aws iam update-assume-role-policy --role-name $role_name --policy-document "$TRUST_POLICY"
其他信息
要了解有关此附加组件的更多信息,请参阅 使用 Amazon EFS 存储弹性文件系统。
适用于 Amazon S3 的 Mountpoint CSI 驱动程序
适用于 Amazon S3 CSI 驱动程序的 Mountpoint Amazon EKS 附加组件是一种 Kubernetes 容器存储接口(CSI)插件,为集群提供 Amazon S3 存储。
Amazon EKS 附加组件名称为 aws-mountpoint-s3-csi-driver
。
所需的 IAM 权限
此附加组件使用 Amazon EKS 的服务账户 IAM 角色功能。创建的 IAM 角色需要一个允许访问 S3 的策略。创建策略时,请遵循 Mountpoint IAM 权限建议
您可以使用以下命令创建 IAM 角色,并为其附加策略。将 my-cluster
替换为集群的名称,将
替换为正确的 AWS 区域 代码,将 region-code
AmazonEKS_S3_CSI_DriverRole
替换为角色的名称,将 AmazonEKS_S3_CSI_DriverRole_ARN
替换为角色 ARN。这些命令要求您的设备事先安装 eksctl
CLUSTER_NAME=
my-cluster
REGION=ROLE_NAME=
region-code
AmazonEKS_S3_CSI_DriverRole
POLICY_ARN=AmazonEKS_S3_CSI_DriverRole_ARN
eksctl create iamserviceaccount \ --name s3-csi-driver-sa \ --namespace kube-system \ --cluster $CLUSTER_NAME \ --attach-policy-arn $POLICY_ARN \ --approve \ --role-name $ROLE_NAME \ --region $REGION \ --role-only
其他信息
要了解有关此附加组件的更多信息,请参阅 使用适用于 Amazon S3 的 Mountpoint CSI 驱动程序访问适用于 Amazon S3 对象。
CSI 快照控制器
借助容器存储接口(CSI)快照控制器,可以在 Amazon EBS CSI 驱动程序等兼容的 CSI 驱动程序中使用快照功能。
Amazon EKS 附加组件名称为 snapshot-controller
。
所需的 IAM 权限
此附加组件不需要任何权限。
其他信息
要了解有关此附加组件的更多信息,请参阅 为 CSI 卷启用快照功能。
适用于 OpenTelemetry 的 AWS Distro
适用于 OpenTelemetry 的 AWS Distro Amazon EKS 是 OpenTelemetry 项目的安全、受 AWS 支持的生产就绪型发行版。有关更多信息,请参阅 GitHub 上的 AWS Distro for OpenTelemetry
Amazon EKS 附加组件名称为 adot
。
所需的 IAM 权限
仅在使用可通过高级配置选择加入的预配置自定义资源时,此附加组件才需要 IAM 权限。
其他信息
有关更多信息,请参阅适用于 OpenTelemetry 的 AWS Distro 文档中的使用 EKS 插件且适用于 OpenTelemetry 的 AWS Distro 入门
ADOT 要求将 cert-manager
作为先决条件部署在集群上,否则如果使用 Amazon EKS Terraformcluster_addons
属性直接部署,此插件将无法运行。有关更多要求,请参阅适用于 OpenTelemetry 的 AWS Distro 文档中的使用 EKS 插件且适用于 OpenTelemetry 的 AWS Distro 入门要求
Amazon GuardDuty 代理
Amazon GuardDuty 代理 Amazon EKS 附加组件是一项安全监控服务,用于分析和处理基础数据源,包括 AWS CloudTrail 管理事件和 Amazon VPC 流日志等。Amazon GuardDuty 还处理 Kubernetes 审计日志和运行时监控等功能。
Amazon EKS 附加组件名称为 aws-guardduty-agent
。
所需的 IAM 权限
此附加组件不需要任何权限。
其他信息
有关更多信息,请参阅 Runtime Monitoring for Amazon EKS clusters in Amazon GuardDuty。
-
要检测 Amazon EKS 集群中的潜在安全威胁,请启用 Amazon GuardDuty 运行时监控,然后将 GuardDuty 安全代理部署到您的 Amazon EKS 集群。
Amazon CloudWatch 可观测性代理
Amazon CloudWatch 可观测性代理 Amazon EKS 附加组件是由 AWS 提供的监控和可观测性服务。此插件将安装 CloudWatch 代理,并启用 CloudWatch Application Signals 和 CloudWatch Container Insights,从而增强 Amazon EKS 的可观测性。有关更多信息,请参阅 Amazon CloudWatch 代理。
Amazon EKS 附加组件名称为 amazon-cloudwatch-observability
。
所需的 IAM 权限
此附加组件使用 Amazon EKS 的服务账户 IAM 角色功能。AWSXrayWriteOnlyAccess
替换为您的集群的名称,并将 my-cluster
替换为您的角色的名称。此命令要求您为您的设备安装 AmazonEKS_Observability_role
eksctl
eksctl create iamserviceaccount \ --name cloudwatch-agent \ --namespace amazon-cloudwatch \ --cluster
my-cluster
\ --role-nameAmazonEKS_Observability_Role
\ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \ --approve
其他信息
有关更多信息,请参阅安装 CloudWatch 代理。
EKS 容器组身份代理
Amazon EKS 容器组身份代理 Amazon EKS 附加组件提供了管理应用程序凭证的功能,类似于 EC2 实例配置文件为 EC2 实例提供凭证的方式。
Amazon EKS 附加组件名称为 eks-pod-identity-agent
。
所需的 IAM 权限
此附加组件使用来自 Amazon EKS 节点 IAM 角色 的权限。
更新信息
您一次只能更新一个次要版本。例如,如果当前版本为 1.29.
,并且您想要更新到 x
-eksbuild.y
1.31.
,则必须首先更新到 x
-eksbuild.y
1.30.
,再更新到 x
-eksbuild.y
1.31.
。有关更新附加组件的更多信息,请参阅 更新 Amazon VPC CNI plugin for Kubernetes Amazon EKS 附加组件。x
-eksbuild.y