AWS 上的 Kubernetes
开源容器的管理和编排
概述
Kubernetes 是一款开源软件,您可以利用它大规模地部署和管理容器化应用程序。Kubernetes 管理 Amazon Elastic Compute Cloud(EC2)计算实例的集群,并在这些实例上运行容器和执行部署、维护和扩缩的进程。借助 Kubernetes,您可以在本地和云中使用相同的工具集运行任何类型的容器化应用程序。
AWS 利用可扩展并且高度可用的虚拟机基础设施、具有社区支持的服务集成,以及经过认证的 Kubernetes 托管服务 Amazon Elastic Kubernetes Service(EKS),大幅简化了在云中运行 Kubernetes 的过程。

Kubernetes 的工作原理
Kubernetes 的具体工作原理就是根据可用计算资源和每个容器的资源要求,管理计算实例集群,并调度要在集群上运行的容器。在逻辑分组中运行的容器被称为 Pod,您可以将一个或多个容器作为一个 Pod 进行运行和扩展。
Kubernetes 控制层面软件确定何时何地运行 Pod、管理流量路由选择,以及根据利用率或您定义的其他指标扩展 Pod。Kubernetes 可以根据资源需求自动在集群上启动 Pod,并在 Pod 或它们运行的实例出现故障时自动重启 Pod。每个 Pod 将获取一个 IP 地址和一个 DNS 名称,Kubernetes 用它们来连接您的服务和外部流量。
选择 Kubernetes 的原因
由于 Kubernetes 是一个开源项目,您可以用它在任何地方运行您的容器化应用程序,而无需更换操作工具。Kubernetes 由志愿者组成的大型社区进行维护,并且在不断改进。此外,其他很多开源项目和供应商都在构建和维护与 Kubernetes 兼容的软件,您可以利用这些软件改进并扩展您的应用程序架构。
在 AWS 上运行 Kubernetes
AWS 使运行 Kubernetes 变得非常简单。 您可以选择使用 Amazon EC2 自行管理 Kubernetes 基础设施,或使用 Amazon EKS 获取一个自动预置的托管 Kubernetes 控制层面。无论采用哪个方案,您都可以获得与众多 AWS 服务相集成并享受社区支持的强大优势,如 Amazon Virtual Private Cloud(VPC)、AWS Identity and Access Management(IAM)、服务发现,并可获得 AWS 保障下的安全性、可扩展性以及高可用性。