

 **帮助改进此页面** 

要帮助改进本用户指南，请选择位于每个页面右侧窗格中的**在 GitHub 上编辑此页面**链接。

# 利用开源项目扩展 Amazon EKS 的功能
<a name="related-projects"></a>

这些开源项目扩展了在Amazon上或在其外部运行的 Kubernetes 集群的功能，包括 Amazon EKS 管理的集群。

## 支持部署到 EKS 的软件
<a name="oss-scope"></a>

查看 Amazon EKS 文档时，您会在整个过程和示例中看到对各种开源工具和软件的引用。这些工具包括 [Kubernetes Metrics Server](https://github.com/kubernetes-sigs/metrics-server) 和 [Cert Manager](https://cert-manager.io/)。

请注意，您选择部署的任何第三方或开源软件都不在您 Amazon Support 协议的范围内。使用 Kubernetes 的一个好处是可以加入活跃的开源社区。建议直接与相关的开源社区和项目维护者合作，为此类组件建立适当的支持渠道。有关更多信息，请参阅与云原生计算基金会（CNCF）相关的 [Graduated and Incubating Projects](https://www.cncf.io/projects/)。

Kubernetes 生态系统包括许多项目和组件，这些项目和组件具有不同级别的社区支持、响应时间和预期应用场景。与 EKS 一起实施这些技术时，要确保自己了解每个组件的支持矩阵。

 Amazon 会维护我们集成到 EKS 控制面板中的开源组件。这包括我们全面的安全管道，涵盖我们分发的所有容器映像和二进制文件的版本验证、漏洞扫描、验证测试和补丁管理。例如，Amazon 负责 [Kubernetes API 服务器](https://kubernetes.io/docs/concepts/architecture/#kube-apiserver)。Kubernetes API 服务器在 [Amazon EKS 服务水平协议](https://www.amazonaws.cn/eks/sla/)的涵盖范围内。您可以使用 [Amazon Web Services 支持计划](https://www.amazonaws.cn/premiumsupport/plans/)来解决 Kubernetes API 服务器的问题，或者获取一般指导。

您需要仔细审查为各种 Amazon EKS 附加组件提供的支持。Amazon 附加组件是 Amazon 唯一完全支持的 Amazon EKS 附加组件类型。AmazonMarketplace 附加组件主要由 Amazon 合作伙伴提供支持。社区附加组件可从 Amazon 获得基本生命周期支持。有关更多信息，请参阅[附加组件支持](eks-add-ons.md#addon-support)。

每个 EKS 附加组件，无论类型如何，都将获得 EKS 提供的基本生命周期支持，包括 Marketplace 附加组件。基本生命周期支持包括安装与卸载附加组件。有关可用的 Amazon EKS 附加组件类型和相关支持级别的更多信息，请参阅 [Amazon EKS 附加组件的支持范围](eks-add-ons.md#addon-support)。要查看 Amazon 完全支持的附加组件，请参阅 [Amazon Web Services 附加组件](workloads-add-ons-available-eks.md)。
+ 有关我们安全实践和支持范围的更多信息，请参阅 [Amazon EKS 中的安全性](security.md)。
+ 有关通过 Amazon EKS 附加组件提供的社区和 Amazon Markertplace 附加组件的更多信息，请参阅 [EKS 附加组件支持](eks-add-ons.md#addon-support)。

## 管理工具
<a name="related-management-tools"></a>

Amazon EKS 和 Kubernetes 集群的相关管理工具。

### eksctl
<a name="related-eksctl"></a>

 `eksctl` 是一个用于在 Amazon EKS 上创建集群的简单 CLI 工具。
+  [项目 URL](https://eksctl.io/) 
+  [项目文档](https://eksctl.io/) 
+  Amazon开源博客：[eksctl：使用一个命令的 Amazon EKS 集群](https://www.amazonaws.cn/blogs/opensource/eksctl-eks-cluster-one-command) 

### Amazon Controllers for Kubernetes
<a name="related-aws-controllers"></a>

使用 Amazon Controllers for Kubernetes，您可以直接从 Kubernetes 集群创建和管理Amazon资源。

在 [EKS 功能](ack.md)中提供。
+  [项目 URL](https://aws-controllers-k8s.github.io/community/) 
+  Amazon 开源博客：[Kubernetes 的 Amazon 服务运算符现已推出](https://www.amazonaws.cn/blogs/opensource/aws-service-operator-kubernetes-available) 

### kro（Kube Resource Orchestrator）
<a name="related-kro"></a>

kro 支持您创建自定义 Kubernetes API，将多个资源组合为更高级别的抽象资源。平台团队可以使用护栏定义可重复使用的模式，而应用程序团队则使用简单的高级别 API 来预调配和管理资源。

在 [EKS 功能](kro.md)中提供。
+  [项目 URL](https://kro.run/) 
+  [项目文档](https://kro.run/docs/) 

### Argo CD
<a name="related-argocd"></a>

Argo CD 是一款适用于 Kubernetes 的声明式 GitOps 持续交付工具。它会持续监控您的 Git 存储库，并自动将更改同步到您的集群。

在 [EKS 功能](argocd.md)中提供。
+  [项目 URL](https://argo-cd.readthedocs.io/) 
+  [项目文档](https://argo-cd.readthedocs.io/en/stable/) 

### Flux CD
<a name="related-flux-cd"></a>

Flux 是一个工具，通过它，您可以使用 Git 来管理集群配置。它使用集群中的运算符来触发 Kubernetes 内部的部署。有关运算符的更多信息，请参阅 GitHub 上的 [OperatorHub.io](https://operatorhub.io/)。
+  [项目 URL](https://fluxcd.io/) 
+  [项目文档](https://docs.fluxcd.io/) 

### CDK for Kubernetes
<a name="related-cdk"></a>

借助 CDK for Kubernetes (cdk8s)，您可以使用熟悉的编程语言定义 Kubernetes 应用程序和组件。cdk8s 应用程序合成为标准 Kubernetes 清单，可应用于任何 Kubernetes 集群。
+  [项目 URL](https://cdk8s.io/) 
+  [项目文档](https://cdk8s.io/docs/latest/) 
+  Amazon 容器博客：[推出 cdk8s\$1：面向 Kubernetes 对象的意图驱动 API](https://www.amazonaws.cn/blogs/containers/introducing-cdk8s-intent-driven-apis-for-kubernetes-objects) 

## Networking
<a name="related-networking"></a>

Amazon EKS 和 Kubernetes 集群的相关联网项目。

### 适用于 Kubernetes 的 Amazon VPC CNI 插件
<a name="related-vpc-cni-k8s"></a>

Amazon EKS 支持通过适用于 Kubernetes 的 Amazon VPC CNI 插件进行的本机 VPC 联网。此插件会将 VPC 中的 IP 地址分配给每个容器组（pod）。
+  [项目 URL](https://github.com/aws/amazon-vpc-cni-k8s) 
+  [项目文档](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/README.md) 

### 适用于 Kubernetes 的Amazon负载均衡器控制器
<a name="related-alb-ingress-controller"></a>

Amazon负载均衡器控制器帮助管理 Kubernetes 集群的 Amazon Elastic Load Balancer。它通过配置 Amazon Application Load Balancer 来满足 Kubernetes 入口资源。该控制器通过预置 Amazon 网络负载均衡器来满足 Kubernetes 服务资源。
+  [项目 URL](https://github.com/kubernetes-sigs/aws-load-balancer-controller) 
+  [项目文档](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/) 

### ExternalDNS
<a name="related-externaldns"></a>

ExternalDNS 将公开的 Kubernetes 服务和入口与 DNS 提供程序同步，包括 Amazon Route 53 和Amazon服务发现。
+  [项目 URL](https://github.com/kubernetes-incubator/external-dns) 
+  [项目文档](https://github.com/kubernetes-incubator/external-dns/blob/master/docs/tutorials/aws.md) 

## 机器学习
<a name="related-machine-learning"></a>

Amazon EKS 和 Kubernetes 集群的相关 Machine Learning 项目。

### Kubeflow
<a name="related-kubeflow"></a>

Kubernetes 的机器学习工具包。
+  [项目 URL](https://www.kubeflow.org/) 
+  [项目文档](https://www.kubeflow.org/docs/) 
+  Amazon 开源博客：[Amazon EKS 上的 Kubeflow](https://www.amazonaws.cn/blogs/opensource/kubeflow-amazon-eks) 

## Auto Scaling
<a name="related-auto-scaling"></a>

Amazon EKS 和 Kubernetes 集群的相关 Auto Scaling 项目。

### Cluster Autoscaler
<a name="related-cluster-autoscaler"></a>

Cluster Autoscaler 是一个根据 CPU 和内存压力自动调整 Kubernetes 集群大小的工具。
+  [项目 URL](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) 
+  [项目文档](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md) 
+ Amazon EKS 讲习会：[Cluster Autoscaler](https://www.eksworkshop.com/docs/autoscaling/compute/cluster-autoscaler/) 

### Karpenter
<a name="related-karpenter"></a>

Karpenter 是一款专为提高灵活性、性能和简单性而设计的 Kubernetes 节点自动扩缩器。
+  [项目 URL](https://github.com/kubernetes-sigs/karpenter) 
+  [项目文档](https://karpenter.sh/) 
+ Amazon EKS 讲习会：[Karpenter](https://www.eksworkshop.com/docs/autoscaling/compute/karpenter/) 

### Escalator
<a name="related-escalator"></a>

Escalator 是 Kubernetes 的优化了批处理或作业的水平 Autoscaler。
+  [项目 URL](https://github.com/atlassian/escalator) 
+  [项目文档](https://github.com/atlassian/escalator/blob/master/docs/README.md) 

## 监控
<a name="related-monitoring"></a>

Amazon EKS 和 Kubernetes 集群的相关监控项目。

### Prometheus
<a name="related-prometheus"></a>

Prometheus 是一个开源系统监控和警报工具包。
+  [项目 URL](https://prometheus.io/) 
+  [项目文档](https://prometheus.io/docs/introduction/overview/) 
+ Amazon EKS 讲习会：[https://eksworkshop.com/intermediate/240_monitoring/](https://eksworkshop.com/intermediate/240_monitoring/)

## 持续集成/持续部署
<a name="related-cicd"></a>

Amazon EKS 和 Kubernetes 集群的相关 CI/CD 必要项目。

### Jenkins X
<a name="related-jenkinsx"></a>

Amazon EKS 和 Kubernetes 集群上现代云应用程序的 CI/CD 解决方案。
+  [项目 URL](https://jenkins-x.io/) 
+  [项目文档](https://jenkins-x.io/docs/) 