瞭解在雲端設計 Kubernetes 拓樸

企業將以輕量型容器遞增方式部署雲端原生工作負載。在生產環境中,您需要管理容器,並確保沒有停止工作時間。Kubernetes 是開源協調引擎,用於管理容器化應用程式與服務。

Oracle Cloud Infrastructure Container Engine for Kubernetes 是一項受管理、可擴展且高度可用的服務,可供您將容器化應用程式部署到雲端的 Kubernetes 叢集。

架構

雲端中以 Kubernetes 為基礎的拓樸架構取決於容器化工作負載是否可從公用網際網路存取、節點集區大小和數目,以及您工作負載的容錯需求等因素。

下圖顯示Oracle Cloud Infrastructure 區域中包含多個可用性網域的 Kubernetes 叢集參照架構。


包含多個可用性網域之區域的架構
架構包含下列元件:
  • 虛擬雲端網路 (VCN):拓樸中的所有資源都位於單一 VCN 中。
  • 子網路

    此架構中的 VCN 包含四個公用子網路和兩個專用子網路。其中一個公用子網路適用於聯合主機;另一個是用於網際網路負載平衡器。在這兩個專用子網路中,一個是用於包含管理 Kubernetes 叢集所需之工具的管理主機。其他專用子網路是用於 Kubernetes 叢集的節點。

    所有子網路都是區域性的;亦即,它們跨越區域中的所有可用性網域,並在架構圖表中縮寫為 AD1、AD2 以及 AD3。因此它們會根據可用性進行網域的失敗進行保護。您可以使用子網路作為建置到區域中任何可用性網域的資源。

  • 網路閘道
    • 服務閘道 (選擇性)

      服務閘道可讓 VCN 中的資源存取 Oracle 服務,例如Oracle Cloud Infrastructure 物件儲存體Oracle Cloud Infrastructure File Storage以及Oracle Cloud Infrastructure Database 私密;亦即不公開網際網路流量。您可以從 VCN 內的資源起始透過服務閘道的連線,而不是從資源通訊的服務起始。

    • NAT 閘道 (選擇性)

      NAT 閘道可讓連附至 VCN 中專用子網路的運算執行處理存取公用網際網路。可從 VCN 內的資源起始透過 NAT 閘道的連線,而不是從公用網際網路起始。

    • 網際網路閘道

      網際網路閘道可讓公用網際網路與 VCN 內公用子網路中的任何資源之間的連線。

  • 基本主機 (選擇性)

    聯合主機是一個運算執行處理,可作為雲端外部拓樸的進入點。

    通常會在 DMZ 中啟動設定聯合主機。您可以將機密資源置於專用網路,就無法直接從雲端存取該資源。您可以顯示可定期稽核的單一已知進入點。因此,您可以避免公開拓樸中較敏感的元件,而不會危及其存取權。

    範例拓樸中的聯合主機會連附至公用子網路並具有公用 IP 位址。傳入安全規則設定為允許從公用網際網路建立主機的 SSH 連線。若要提供額外的安全性層次,您可以限制只能從特定 IP 位址區塊存取基礎主機。

    您可以透過防和主機存取專用子網路中的Oracle Cloud Infrastructure 執行處理。若要這樣做,請啟用 ssh-agent 轉寄,您可以連線至置頂主機,然後從電腦轉寄證明資料來存取下一部伺服器。您也可以使用動態 SSH 通道來存取專用子網路中的執行處理。動態通道會針對本機連接埠提供「Soeks」代理;但是來自遠端主機的連線。

  • 負載平衡器節點

    負載平衡器節點會攔截並將流量分送至執行容器化應用程式的可用 Kubernetes 節點。如果應用程式必須能夠從公用網際網路存取,請使用公用負載平衡器;否則,請使用專用負載平衡器,它沒有公用 IP 位址。架構顯示兩個負載平衡器節點,每個節點都在不同的可用性網域中。

  • 管理主機 (選擇性)

    透過使用管理主機,您可以避免在雲端之外安裝與執行基礎架構-管理工具,例如 kubectlhelm 以及Oracle Cloud Infrastructure CLI。在參照架構中,管理主機位於專用子網路,可以透過基礎主機存取。若要能夠在管理主機上執行Oracle Cloud Infrastructure CLI,您必須將它指定為執行處理主要項目。

  • Kubernetes 工作節點

    Kubernetes 工作節點是可以部署容器化應用程式的運算執行處理。此參考架構中的所有工作節點位於單一節點集區,並且附加至專用子網路。您可以視需要建立多個節點集區。

    參考架構中的職工節點無法直接從公用網際網路存取。容器化應用程式的使用者可以透過負載平衡器存取容器化應用程式。管理員可透過巴基主機存取職工節點。

    此架構顯示三個工作節點,每個節點都位於區域 AD1、AD2 及 AD3 內的不同可用性網域中。在 Oracle 租用戶執行的 Kubernetes 主要節點,不會顯示。

如果您要部署容器化應用程式的區域包含單一可用性網域,則工作節點會分佈至可用性網域內的容錯域 (FD),如下列架構所示。


含有單一可用性網域之區域的架構

關於必要服務和許可權

此解決方案需要下列服務與權限:

服務 需有權限
Oracle Cloud Infrastructure Identity and Access Management 管理動態群組和原則。
Oracle Cloud Infrastructure 網路 管理 Vcn、子網路、網際網路閘道、NAT 閘道、服務閘道、路由表以及安全清單。
Oracle Cloud Infrastructure Compute 管理運算執行處理。
Oracle Cloud Infrastructure Container Engine for Kubernetes 管理叢集和節點集區。

請參閱建立及建置叢集的原則組態