AWS 上的 Kubernetes

開放原始碼容器管理和協調

kuberneteslogo

Kubernetes 是一種開放原始碼軟體,可讓您大規模部署和管理容器化應用程式。Kubernetes 管理 Amazon EC2 運算執行個體叢集,並在這些執行個體上執行容器,以及部署、維護和擴展程序。您可以透過 Kubernetes,在現場部署和雲端使用相同的工具組,執行各種類型的容器化應用程式。

AWS 可讓您使用可擴展和高度可用的虛擬機器基礎設施、社群支援的服務整合,以及獲得一致性授權的受管 Kubernetes 服務 Amazon Elastic Container Service for Kubernetes (EKS),輕鬆在雲端執行 Kubernetes。

KUBERNETES 運作方式

Kubernetes 的運作方式是管理一個運算執行個體叢集,然後根據可用的運算資源和每個容器所需的資源,安排容器在叢集執行的時間。容器以邏輯群組 (稱為 pod) 的形式執行,您可以 pod 為單位執行和擴展一或多個容器。

Kubernetes 控制平面軟體可根據使用率或您定義的其他指標,決定 pod 執行的時間和位置、管理流量路由和擴展 pod。Kubernetes 可根據資源需求自動在叢集啟動 pod,如果 pod 或執行 pod 的執行個體故障,也會自動重新啟動 pod。每個 pod 都有 IP 地址和一個 DNS 名稱,Kubernetes 會使用這些資訊,將服務彼此連接和連接到外部流量。

為什麼要使用 KUBERNETES

因為 Kubernetes 是開放原始碼專案,因此可以在任何地方用來執行容器化應用程式,無須變更操作工具。Kubernetes 由為數眾多的自願者負責維護,而且不斷改進。此外,還有許多其他開放原始碼專案和廠商建立和維護與 Kubernetes 相容的軟體,您可以使用這些軟體改善和擴展應用程式架構。

100x100_benefit_scalable_100x100_benefit_scalable

大規模執行應用程式

Kubernetes 可讓您定義複雜的容器化應用程式,並跨伺服器叢集大規模執行。

100x100_benefit_migration

無縫遷移應用程式

使用 Kubernetes,容器化應用程式可以使用相同的操作工具,從本機開發機器無縫遷移到雲端生產部署。

100x100_benefit_global_100x100_benefit_global

可在任何地方執行

在 AWS 執行高度可用且可擴展的 Kubernetes 叢集,同時與在現場部署執行的 Kubernetes 部署保持完全相容。

100x100_benefit_compatible

新增功能

Kubernetes 是開放原始碼專案,增加新的功能非常容易。數量龐大的開發人員和公司建立各式各樣的延伸、整合和外掛程式,協助 Kubernetes 使用者執行更多工作。

在 AWS 上執行 KUBERNETES

AWS 可讓您輕鬆執行 Kubernetes。您可以選擇使用 Amazon EC2 自行管理 Kubernetes 基礎設施,或使用 Amazon EKS 取得自動佈建的受管 Kubernetes 控制平面。不管使用哪種方式,您都能獲得社群支援的強大 AWS 服務 (例如,VPC、IAM 和服務探索) 整合,以及 AWS 的安全性、可擴展性和高可用性。

如果您想要...
考慮使用
全面管理您的 Kubernetes 部署。在您選擇的強大執行個體類型佈建和執行 Kubernetes。 Amazon EC2
無須佈建或管理主執行個體和 etcd,即可執行 Kubernetes。
Amazon EKS
存放、加密和管理容器映像,以加快部署速度。
Amazon ECR

 

AWS 社群 Kubernetes 協作

AWS 主動與 Kubernetes 社群合作,包含為 Kubernetes 程式碼基底做出貢獻,以協助 Kuberentes 使用者充分利用 AWS 服務和功能。

CNI_logo_120x100

CNI 外掛程式

使用 AWS 上的彈性網路界面,在 Kubernetes 進行 Pod 聯網。

heptio-logo-news_1_120x100

IAM 驗證器

使用 AWS IAM 登入資料驗證 Kubernetes 叢集的工具。

EKS_external-dns_120x100

外部 DNS

為 Kubernetes 輸入和服務設定 Route 53 服務探索。

Kubernetes-detoure-titre-noir_120x100

SIG AWS

社群主導的特別技術小組,專注在 AWS 與 Kubernetes API 的整合

new_product_fargate

VIRTUAL KUBELET

實驗性 – 使用 Kubernetes 控制平面在 AWS Fargate 上執行容器。

KUBERNETES 常見問答集

問:什麼是 Kubernetes 叢集?

Kubernetes 叢集是執行容器的 EC2 運算執行個體的邏輯群組。叢集由控制平面 (控制容器執行方法、時間和位置的執行個體) 和資料平面 (執行容器的執行個體) 組成。您必須先定義叢集,才能使用 Kubernetes 執行容器或服務。

問:什麼是 Kubernetes 節點?

Kubernetes 節點是 Kubernetes 叢集中的單一運算執行個體 (虛擬機器)。執行個體類型有兩種:主執行個體和工作者執行個體。主執行個體託管 Kubernetes API 伺服器,以及控制容器執行的方法、時間和位置。工作者執行個體是實際執行容器和處理資料的運算執行個體。

問:什麼是 Kubernetes pod?

Kubernetes pod 是 Kubernetes 在運算執行個體執行容器的方式,包含容器和執行規格、聯網和儲存。Pod 可以是單一容器,也可以是永遠一起執行的多個容器。如果您通常執行一個容器,則可以將 pod 視為一個執行中容器。

問:什麼是 etcd?

etcd 是一種分散式鍵值存放區,可讓您在分散的機器叢集存放和共享資料。Kubernetes 使用 etcd 存放關於叢集的資料,並在 Kubernetes 控制平面共享這些資料。

問:AWS 是否支援 Kubernetes?

AWS 可讓您輕鬆執行 Kubernetes。事實上,根據原生雲端運算基金會 (CNCF) 的資料,AWS 擁有最多在雲端執行 Kubernetes 的客戶,且大多數 Kubernetes 部署都在 AWS 上執行。AWS 與 Kubernetes 社群共同協作並主動參與,讓客戶可輕鬆在 AWS 執行 Kubernetes。

AWS 提供的 Amazon Elastic Container Service for Kubernetes (EKS) 是一項受管服務,讓您輕鬆於 AWS 使用 Kubernetes,而無須安裝和操作 Kubernetes 控制平面。

問:如何在 AWS 使用 Kubernetes?

在 AWS 使用 Kubernetes 有兩個主要的方法:在 Amazon EC2 虛擬機器執行個體自行執行,或使用 Amazon EKS 服務。您可以在我們的 Github 研討會進一步了解在 EC2 自行執行 Kubernetes,還可以在產品頁面進一步了解使用 Amazon EKS。

準備好開始建立?
建立 AWS 帳戶
還有其他問題嗎?
聯絡我們