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 工作節點添加到您的集群以支持工作負載。
(審核編輯: 智匯小新)
分享