Amazon EKS托管服务,轻松运行Kubernetes

来源:智汇工业

点击:1751

A+ A-

所属频道:新闻中心

关键词:Amazon EKS Kubernetes AWS

    Amazon Elastic Kubernetes Service(Amazon EKS)是一项托管服务,可让您在 AWS 上轻松运行 Kubernetes,而无需支持或维护您自己的 Kubernetes 控制层面。Kubernetes 是一个用于实现容器化应用程序的部署、扩展和管理的自动化的开源系统。


    Amazon EKS 跨多个可用区运行 Kubernetes 控制层面实例以确保高可用性。Amazon EKS 可以自动检测和替换运行状况不佳的控制层面实例,并为它们提供自动版本升级和修补。




    Amazon EKS 还与许多 AWS 服务集成以便为您的应用程序提供可扩展性和安全性,包括:

    用于容器镜像的 Amazon ECR

    用于负载分配的 Elastic Load Balancing

    用于身份验证的 IAM

    用于隔离的 Amazon VPC


    Amazon EKS 运行最新版本的开源 Kubernetes 软件,因此您可以使用 Kubernetes 社区的所有现有插件和工具。在 Amazon EKS 上运行的应用程序与在任何标准 Kubernetes 环境中运行的应用程序完全兼容,无论此类环境是在本地数据中心还是在公有云中运行都是如此。这意味着,您可以轻松地将任何标准 Kubernetes 应用程序迁移到 Amazon EKS,而无需进行任何代码修改。



    Amazon EKS 工作原理


    Amazon EKS 可为您预配置(启动)和管理 Kubernetes 控制平面。总体来说,Kubernetes 由两大组件构成 – 运行容器的工作节点集群和管理容器在集群上的启动时间和位置并监控容器状态的控制平面。


    如果不使用 Amazon EKS,您需要自行管理 Kubernetes 控制平面和工作节点集群。借助 Amazon EKS,您可以使用Amazon 系统镜像 (AMI) 和 AWS CloudFormation 脚本预置工作节点集群,而 AWS 负责使用高可用且安全的配置来预置、扩展和管理 Kubernetes 控制平面,从而消除了运行 Kubernetes 的繁重运维负担,让您能够专注于应用程序构建而非 AWS 基础设施管理。



    Amazon EKS 优势


    Amazon EKS具备如下优势:

    无需管理控制平面:

    Amazon EKS 可跨多个 AWS 可用区运行 Kubernetes 管理基础设施、自动检测和替换运行状况不佳的控制平面节点,并提供按需升级和修补。您只需预置工作节点并将其连接到提供的 Amazon EKS 终端节点。

    默认确保安全

    系统会自动在工作节点和托管的控制平面之间设置安全、加密的通信渠道,在默认情况下保护 Amazon EKS 上运行的基础设施的安全。

    通过社区构建:

    通过主动与 Kubernetes 社区合作,其中包括为 Kubernetes 代码库做贡献,可以帮助 Amazon EKS 用户充分利用 AWS 产品和功能。

    一致和兼容:

    Amazon EKS 可运行上游 Kubernetes,且经认证可与 Kubernetes 兼容,因此 Amazon EKS 托管的应用程序与所有标准 Kubernetes 环境托管的应用程序完全兼容。



    Amazon EKS客户案例


    SafetyCulture 通过创新、低成本的移动第一产品,帮助公司在世界各地实现更安全、更高质量的工作场所。


     整个应用程序的架构如下图所示:







    “作为一家快速发展的初创公司,SafetyCurtulture 对亚马逊 EKS 在现有的 AWS 环境中快速实施 Kubernetes 的机会感到兴奋。我们已经实现了 EKS 服务,这使我们能够立即集中精力展示 Kubernetes 提供的好处,并开始迁移我们的一些开源工作负载。安全文化已经利用许多开源技术为我们的客户提供价值(例如,React、Docker、Kafka、ElasticSearch、Postgres、Golang),Kubernetes 自然适合我们的云本地应用程序堆栈。”


    - Tim Curtin, Engineering Team Lead

    SafetyCulture






    ● 采用 Amazon EKS 的部分客户  



    动手实践 AWS EKS


    EKS服务目前已在由光环新网运营的AWS中国(北京)区域和由西云数据运营的AWS(宁夏)区域上线,以下教程将指导您在 AWS 管理控制台中创建 Amazon EKS 所需的所有资源。


    ● 先决条件  


    您已创建符合 Amazon EKS 集群要求的 VPC 和专用安全组。有关更多信息,请参阅集群 VPC 注意事项和Amazon EKS 安全组注意事项。AWS 管理控制台入门指南创建符合要求的 VPC,您也可以按照为您的 Amazon EKS 集群创建 VPC。来创建 VPC。

    您已创建要应用于集群的 Amazon EKS 服务角色。Amazon EKS 入门指南创建服务角色,您也可以按照Amazon EKS IAM 角色手动创建服务角色。

    安装最新的 AWS CLI,请确保您的AWS CLI 的版本为1.16.308 或更高版本,要安装或升级 AWS CLI,请参阅 AWS Command Line Interface 用户指南中的安装 AWS 命令行界面


    kubectl,您必须使用与您的 Amazon EKS 集群控制层面不同的一个次要版本内的 kubectl 版本,请参考 安装 kubectl


    ● 安装步骤  

    1、打开 Amazon EKS管理控制台:

    https://cn-northwest-1.console.amazonaws.cn/eks/home

    2、选择 Create cluster(创建集群)

    3、在 Create cluster(创建集群)页面上,填写以下字段,然后选择 Create(创建)

    Cluster name(集群名称)– 集群的唯一名称。

    Kubernetes version(Kubernetes 版本)– 要用于集群的 Kubernetes 的版本。除非您需要为应用程序使用特定的 Kubernetes 版本,否则,我们建议您使用 Amazon EKS 中可用的最新版本。

    Role name(角色名称)– 选择 Amazon EKS 服务角色以允许 Amazon EKS 和 Kubernetes 控制层面来代表您管理 AWS 资源。有关更多信息,请参阅 Amazon EKS IAM 角色。

    VPC – 要用于集群的 VPC。

    Subnets(子网)– 上述 VPC 中的要用于集群的子网。默认情况下,已预先选中 VPC 中的可用子网。指定将为集群托管资源的所有子网(例如,为工作节点指定私有子网,并为负载均衡器指定公有子网)。您的子网必须满足 Amazon EKS 集群的要求。有关更多信息,请参阅 集群 VPC 注意事项。

    Security Groups(安全组)您通过创建您的 Amazon EKS 集群 VPC生成的 AWS CloudFormation 输出中的 SecurityGroups 值。此安全组具有下拉列表名称中的 ControlPlaneSecurityGroup

    终端节点私有访问 – 选择是启用还是禁用集群的 Kubernetes API 服务器终端节点的私有访问。如果启用私有访问,源自集群的 VPC 内的 Kubernetes API 请求将使用私有 VPC 终端节点。有关更多信息,请参阅 Amazon EKS 集群终端节点访问控制。

    终端节点公有访问 – 选择是启用还是禁用集群的 Kubernetes API 服务器终端节点的公有访问。如果禁用公有访问,集群的 Kubernetes API 服务器只能接收来自集群 VPC 内的请求。有关更多信息,请参阅 Amazon EKS 集群终端节点访问控制。

    日志记录 – 对于每个日志类型,选择该日志类型应该是已启用还是已禁用。默认情况下,每个日志类型均为已禁用。有关更多信息,请参阅 Amazon EKS 控制层面日志记录。

    Tags(标签)–(可选)将任意标签添加到您的集群。有关更多信息,请参阅 标记 Amazon EKS 资源。

    4、在 Clusters(集群)页面上,选择新集群的名称以查看集群信息。

    5、Status(状态)字段显示 CREATING(正在创建),直至集群配置过程完成。在配置完集群(通常在 10 到 15 分钟内完成)后,记下 API server endpoint(API 服务器终端节点)和 Certificate authority(证书颁发机构)值。kubectl 配置中将使用这些值。

    6、现已创建集群,请按照安装 aws-iam-authenticator 和为 Amazon EKS 创建 kubeconfig 中的过程来支持与新集群的通信。

    7、启用通信后,请按照启动 Amazon EKS Linux 工作节点中的过程来将 Linux 工作节点添加到您的集群以支持工作负载。


    (审核编辑: 智汇小新)