Kubernetes 是管理容器化應用程式的平台。這麼做提供 API,可讓您控制及管理容器化應用程式的部署、調整規模及組織方式。Kubernetes 可在企業內部部署或雲端使用,目前是管理容器化應用程式的熱門平台。
Kubernetes 的其中一項寶貴優勢就是擴充應用程式的能力。Kubernetes 可以根據 CPU 使用率、記憶體使用量或其他指標自動擴展您的應用程式。這樣可確保您的應用程式永遠可供使用,並且符合使用者的需求。
Kubernetes 是一項功能強大的工具,可協助管理和協調 Docker 容器。您可以使用 Kubernetes 為應用程式建立獨立的環境,其中包含執行應用程式所需的一切。這可包含應用程式、相依性、程式庫及組態檔。
Kubernetes 也可以協助您視需要縱向擴展或縮減應用程式,確保應用程式始終擁有有效率執行的所需資源。此外,Kubernetes 提供許多功能來協助輕鬆管理 Docker 容器,例如機動更新和狀況檢查。
Kubernetes 提供一系列用於應用程式管理的資源、服務和工具。以下是一些最常用的選項。
Kubernetes 具有稱為「傳入」的資源,可用於各式各樣的功能,包括負載平衡器。透過傳入進行負載平衡可讓您將流量分散在一組 Pod 之間,將它們公開為單一服務。這可以改善應用程式的可用性和效能。
負載平衡器可以透過檢查收到之每個要求的標頭來運作。它會根據要求的目的地和定義的規則選取 Pod。然後再將請求轉寄給該 Pod。
負載平衡器也支援狀況檢查,可讓您指定一組必須符合 Pod 的條件,負載平衡器才會傳送要求給 Pod。如果 Pod 無法符合需求,負載平衡器將會停止對其傳送要求。
您也可以根據要求的來源 IP 位址,使用負載平衡器來遞送流量。如果您限制從特定來源存取應用程式,此功能十分有用。
Kubernetes 網路藉由建立 Pod 和服務運作。Pod 是一或多個容器的群組,可一起部署並共用網路命名空間和 IP 位址。
Pod 中的容器可以使用 localhost 與彼此通訊。
這些服務是用來向外界展示一或多個 Pod。服務以負載平衡器的方式實行,並且可以跨多個 Pod 進行負載平衡流量。
Kubernetes 排程器是 Kubernetes 系統中最重要的部分。負責將資源配置給 Pod,並確保它們能夠順利執行。
Scheduler 的運作方式是將每個 Pod 指定優先順序,以及尋找具有足夠資源的節點來容納 Pod。如果資源無法使用,排程器可以指定優先順序較高 Pod 的節點。這也是 Pod 進行指派之不同優先順序的因素。一般而言,將 Pod 指定給節點時,會採用最低優先順序的節點,將中斷和佔用率降到最低。如果沒有節點具有足夠的資源,則排程器將等待一個節點可用。
排程器也負責重新啟動失敗的 Pod。如果 Pod 失敗,排程器會在不同的節點繼續執行。這樣可確保 Pod 一律能夠存取它需要順利執行的資源。
Kubernetes 自動調整功能是一項絕佳的功能,可讓您根據 CPU 使用量或其他度量,自動縱向擴展或縮減 Pod。自動調整功能可協助您維持叢集中最佳 Pod 數目,進而提升應用程式的效能與穩定性。
Kubernetes 自動調整有兩種類型:水平和垂直。
水平自動調整可增加或移除叢集中的節點,縱向擴展或縮減 Pod 的規模。相反地,垂直自動調整會透過變更個別 Pod 的 CPU 或記憶體限制,縱向擴展或縮減 Pod。
Kubernetes 自動調整是以兩個概念為基礎:調整觸發程式及調整原則。調整動機是使 Kubernetes 向上或向下擴展您的 Pod 的條件。調整原則是指進行調整觸發時 Kubernetes 所採取的動作。
DNS 代表網域名稱系統,它是一個用來將人類可讀網域名稱轉譯為電腦所使用之數值 IP 位址的系統。Kubernetes 使用 DNS 管理其服務。Kubernetes 中的每項服務都有唯一的 DNS 名稱。當您建立服務時,Kubernetes 會為該服務建立 DNS 記錄。DNS 記錄包含服務的 IP 位址和連接埠號碼。Kubernetes 使用此資訊將流量遞送至服務。
服務的 DNS 名稱由兩個部分組成:
網域名稱是網域中所有服務所熟悉的 DNS 名稱部分。服務名稱是每個服務唯一 DNS 名稱的一部分。
對於使用 Kubernetes 的企業,Oracle Container Engine for Kubernetes 可簡化流程,並減少開發雲端原生應用程式的預算。Oracle Container Engine for Kubernetes 是 Oracle Cloud Infrastructure 的一部分,不需額外付費,即可提供強大的功能。立即開始使用免費的 Oracle Cloud Infrastructure 試用。