Amazon EKS托管服務(wù),輕松運行Kubernetes
所屬頻道:新聞中心
Amazon Elastic Kubernetes Service(Amazon EKS)是一項托管服務(wù),可讓您在 AWS 上輕松運行 Kubernetes,而無需支持或維護(hù)您自己的 Kubernetes 控制層面。Kubernetes 是一個用于實現(xiàn)容器化應(yīng)用程序的部署、擴(kuò)展和管理的自動化的開源系統(tǒng)。
Amazon EKS 跨多個可用區(qū)運行 Kubernetes 控制層面實例以確保高可用性。Amazon EKS 可以自動檢測和替換運行狀況不佳的控制層面實例,并為它們提供自動版本升級和修補(bǔ)。
Amazon EKS 還與許多 AWS 服務(wù)集成以便為您的應(yīng)用程序提供可擴(kuò)展性和安全性,包括:
用于容器鏡像的 Amazon ECR
用于負(fù)載分配的 Elastic Load Balancing
用于身份驗證的 IAM
用于隔離的 Amazon VPC
Amazon EKS 運行最新版本的開源 Kubernetes 軟件,因此您可以使用 Kubernetes 社區(qū)的所有現(xiàn)有插件和工具。在 Amazon EKS 上運行的應(yīng)用程序與在任何標(biāo)準(zhǔn) Kubernetes 環(huán)境中運行的應(yīng)用程序完全兼容,無論此類環(huán)境是在本地數(shù)據(jù)中心還是在公有云中運行都是如此。這意味著,您可以輕松地將任何標(biāo)準(zhǔn) Kubernetes 應(yīng)用程序遷移到 Amazon EKS,而無需進(jìn)行任何代碼修改。
Amazon EKS 工作原理
Amazon EKS 可為您預(yù)配置(啟動)和管理 Kubernetes 控制平面??傮w來說,Kubernetes 由兩大組件構(gòu)成 – 運行容器的工作節(jié)點集群和管理容器在集群上的啟動時間和位置并監(jiān)控容器狀態(tài)的控制平面。
如果不使用 Amazon EKS,您需要自行管理 Kubernetes 控制平面和工作節(jié)點集群。借助 Amazon EKS,您可以使用Amazon 系統(tǒng)鏡像 (AMI) 和 AWS CloudFormation 腳本預(yù)置工作節(jié)點集群,而 AWS 負(fù)責(zé)使用高可用且安全的配置來預(yù)置、擴(kuò)展和管理 Kubernetes 控制平面,從而消除了運行 Kubernetes 的繁重運維負(fù)擔(dān),讓您能夠?qū)W⒂趹?yīng)用程序構(gòu)建而非 AWS 基礎(chǔ)設(shè)施管理。
Amazon EKS 優(yōu)勢
Amazon EKS具備如下優(yōu)勢:
無需管理控制平面:
Amazon EKS 可跨多個 AWS 可用區(qū)運行 Kubernetes 管理基礎(chǔ)設(shè)施、自動檢測和替換運行狀況不佳的控制平面節(jié)點,并提供按需升級和修補(bǔ)。您只需預(yù)置工作節(jié)點并將其連接到提供的 Amazon EKS 終端節(jié)點。
默認(rèn)確保安全:
系統(tǒng)會自動在工作節(jié)點和托管的控制平面之間設(shè)置安全、加密的通信渠道,在默認(rèn)情況下保護(hù) Amazon EKS 上運行的基礎(chǔ)設(shè)施的安全。
通過社區(qū)構(gòu)建:
通過主動與 Kubernetes 社區(qū)合作,其中包括為 Kubernetes 代碼庫做貢獻(xiàn),可以幫助 Amazon EKS 用戶充分利用 AWS 產(chǎn)品和功能。
一致和兼容:
Amazon EKS 可運行上游 Kubernetes,且經(jīng)認(rèn)證可與 Kubernetes 兼容,因此 Amazon EKS 托管的應(yīng)用程序與所有標(biāo)準(zhǔn) Kubernetes 環(huán)境托管的應(yīng)用程序完全兼容。
Amazon EKS客戶案例
SafetyCulture 通過創(chuàng)新、低成本的移動第一產(chǎn)品,幫助公司在世界各地實現(xiàn)更安全、更高質(zhì)量的工作場所。
整個應(yīng)用程序的架構(gòu)如下圖所示:

“作為一家快速發(fā)展的初創(chuàng)公司,SafetyCurtulture 對亞馬遜 EKS 在現(xiàn)有的 AWS 環(huán)境中快速實施 Kubernetes 的機(jī)會感到興奮。我們已經(jīng)實現(xiàn)了 EKS 服務(wù),這使我們能夠立即集中精力展示 Kubernetes 提供的好處,并開始遷移我們的一些開源工作負(fù)載。安全文化已經(jīng)利用許多開源技術(shù)為我們的客戶提供價值(例如,React、Docker、Kafka、ElasticSearch、Postgres、Golang),Kubernetes 自然適合我們的云本地應(yīng)用程序堆棧?!?/span>
- Tim Curtin, Engineering Team Lead
SafetyCulture
● 采用 Amazon EKS 的部分客戶 ●
動手實踐 AWS EKS
EKS服務(wù)目前已在由光環(huán)新網(wǎng)運營的AWS中國(北京)區(qū)域和由西云數(shù)據(jù)運營的AWS(寧夏)區(qū)域上線,以下教程將指導(dǎo)您在 AWS 管理控制臺中創(chuàng)建 Amazon EKS 所需的所有資源。
● 先決條件 ●
您已創(chuàng)建符合 Amazon EKS 集群要求的 VPC 和專用安全組。有關(guān)更多信息,請參閱集群 VPC 注意事項和Amazon EKS 安全組注意事項。AWS 管理控制臺入門指南創(chuàng)建符合要求的 VPC,您也可以按照為您的 Amazon EKS 集群創(chuàng)建 VPC。來創(chuàng)建 VPC。
您已創(chuàng)建要應(yīng)用于集群的 Amazon EKS 服務(wù)角色。Amazon EKS 入門指南創(chuàng)建服務(wù)角色,您也可以按照Amazon EKS IAM 角色手動創(chuàng)建服務(wù)角色。
安裝最新的 AWS CLI,請確保您的AWS CLI 的版本為1.16.308 或更高版本,要安裝或升級 AWS CLI,請參閱 AWS Command Line Interface 用戶指南中的安裝 AWS 命令行界面
kubectl,您必須使用與您的 Amazon EKS 集群控制層面不同的一個次要版本內(nèi)的 kubectl 版本,請參考 安裝 kubectl
● 安裝步驟 ●
1、打開 Amazon EKS管理控制臺:
https://cn-northwest-1.console.amazonaws.cn/eks/home
2、選擇 Create cluster(創(chuàng)建集群)
3、在 Create cluster(創(chuàng)建集群)頁面上,填寫以下字段,然后選擇 Create(創(chuàng)建):
Cluster name(集群名稱)– 集群的唯一名稱。
Kubernetes version(Kubernetes 版本)– 要用于集群的 Kubernetes 的版本。除非您需要為應(yīng)用程序使用特定的 Kubernetes 版本,否則,我們建議您使用 Amazon EKS 中可用的最新版本。
Role name(角色名稱)– 選擇 Amazon EKS 服務(wù)角色以允許 Amazon EKS 和 Kubernetes 控制層面來代表您管理 AWS 資源。有關(guān)更多信息,請參閱 Amazon EKS IAM 角色。
VPC – 要用于集群的 VPC。
Subnets(子網(wǎng))– 上述 VPC 中的要用于集群的子網(wǎng)。默認(rèn)情況下,已預(yù)先選中 VPC 中的可用子網(wǎng)。指定將為集群托管資源的所有子網(wǎng)(例如,為工作節(jié)點指定私有子網(wǎng),并為負(fù)載均衡器指定公有子網(wǎng))。您的子網(wǎng)必須滿足 Amazon EKS 集群的要求。有關(guān)更多信息,請參閱 集群 VPC 注意事項。
Security Groups(安全組):您通過創(chuàng)建您的 Amazon EKS 集群 VPC生成的 AWS CloudFormation 輸出中的 SecurityGroups 值。此安全組具有下拉列表名稱中的 ControlPlaneSecurityGroup。
終端節(jié)點私有訪問 – 選擇是啟用還是禁用集群的 Kubernetes API 服務(wù)器終端節(jié)點的私有訪問。如果啟用私有訪問,源自集群的 VPC 內(nèi)的 Kubernetes API 請求將使用私有 VPC 終端節(jié)點。有關(guān)更多信息,請參閱 Amazon EKS 集群終端節(jié)點訪問控制。
終端節(jié)點公有訪問 – 選擇是啟用還是禁用集群的 Kubernetes API 服務(wù)器終端節(jié)點的公有訪問。如果禁用公有訪問,集群的 Kubernetes API 服務(wù)器只能接收來自集群 VPC 內(nèi)的請求。有關(guān)更多信息,請參閱 Amazon EKS 集群終端節(jié)點訪問控制。
日志記錄 – 對于每個日志類型,選擇該日志類型應(yīng)該是已啟用還是已禁用。默認(rèn)情況下,每個日志類型均為已禁用。有關(guān)更多信息,請參閱 Amazon EKS 控制層面日志記錄。
Tags(標(biāo)簽)–(可選)將任意標(biāo)簽添加到您的集群。有關(guān)更多信息,請參閱 標(biāo)記 Amazon EKS 資源。
4、在 Clusters(集群)頁面上,選擇新集群的名稱以查看集群信息。
5、Status(狀態(tài))字段顯示 CREATING(正在創(chuàng)建),直至集群配置過程完成。在配置完集群(通常在 10 到 15 分鐘內(nèi)完成)后,記下 API server endpoint(API 服務(wù)器終端節(jié)點)和 Certificate authority(證書頒發(fā)機(jī)構(gòu))值。kubectl 配置中將使用這些值。
6、現(xiàn)已創(chuàng)建集群,請按照安裝 aws-iam-authenticator 和為 Amazon EKS 創(chuàng)建 kubeconfig 中的過程來支持與新集群的通信。
7、啟用通信后,請按照啟動 Amazon EKS Linux 工作節(jié)點中的過程來將 Linux 工作節(jié)點添加到您的集群以支持工作負(fù)載。
(審核編輯: 智匯小新)
分享