注意:

整合 Oracle Cloud Infrastructure Container Engine for Kubernetes 與 Google Anthos

簡介

Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) 是一個功能強大的解決方案,適合想要將基礎架構現代化並採用雲端原生方式進行應用程式開發及部署的組織。透過自動調整規模、升級及安全打補丁,OKE 可確保控制層和工作節點之間的可靠作業,進一步減少管理負擔。另一方面,Google Anthos 是一個混合式多雲平台,可讓組織無縫跨不同環境管理及部署應用系統。

OKE 和 Google Anthos 整合了兩全其美的功能,可讓使用者運用這兩種服務的優勢來達到高擴展性、安全、彈性的容器協調解決方案,並降低成本。有了這項整合,使用者便可以在多個雲端和企業內部部署環境輕鬆部署及管理容器化應用系統。

目標

將 OKE 與 Google Anthos 整合。

必要條件

工作 1:在 OCI 中建立 Kubernetes 叢集

  1. 按一下 Web 主控台左上角的 服務功能表 導覽功能表。

  2. 前往開發人員服務,然後按一下 Kubernetes 叢集 (OKE)

  3. 選取建立叢集選項。

  4. 選取快速建立選項,然後按一下提交

    注意:這將會建立部署 OKE 叢集的所有必要資源。

  5. 輸入名稱,選取此叢集的區間,然後選取受管理的節點類型。

  6. (選擇性) 您也可以選擇「節點」的形狀、影像和數目。

  7. 按兩次下一步,然後按一下建立

作業 2:在 OCI Cloud Shell 註冊叢集

作業 3:建立服務帳戶

作業 4:在 OCI Cloud Shell 重新註冊叢集

服務帳戶建立之後,您必須再次在 OCI Cloud Shell 註冊叢集。為了簡化並更為乾淨,請先建立目前組態的備份,再繼續進行後續步驟。

  1. 若要建立 ~/.kube/config 的備份,請開啟 OCI Cloud Shell。

  2. 執行下列命令:

    mv ~/.kube/config ~/.kube/config.bkp

  3. 請依照作業 2:在 OCI Cloud Shell 註冊叢集的步驟進行。

作業 5:將 ~/.kube/config 從 OCI 複製到 GCP

作業 4:在 OCI Cloud Shell 中再次註冊叢集中重新建立的 ~/.kube/config 檔案複製到 GCP Cloud Shell。

  1. 複製 cat ~/.kube/config 檔案的內容,選取 OCI Cloud Shell 中的所有內容,然後按 Ctrl+c (複製)。

  2. 前往 GCP Cloud Shell 並執行 vim ~/.kube/config 命令,前往組態檔的底端,然後按 Ctrl+v (貼上)。

作業 6:確認 GCP 中的連線

作業 7:從 OCI 取得 TOKEN

取得作業 3:建立服務帳戶中產生的 TOKEN。

  1. 在 OCI Cloud Shell 執行下列命令:

    TOKEN=`kubectl -n kube-system get secret oke-kubeconfig-sa-token -o jsonpath='{.data.token}' | base64 --decode

  2. 在您取得程式碼之後,執行下列命令。

    echo $TOKEN 並複製記號。

  3. 前往 GCP Cloud Shell 並建立名為 token 的變數。

    TOKEN="|the token you copied|"

  4. 請從下列文件執行步驟 6-7將服務帳戶認證權杖新增至 GCP Cloud Shell 中的 Kubeconfig 檔案

    注意:對於其餘任務,我們只會使用 GCP。

作業 8:在 GCP 中建立服務帳戶並取得 JSON 金鑰

  1. 開啟 GCP Cloud Shell。

  2. 執行下列命令以建立名為 connect-register-sa 的服務帳戶。

    gcloud iam service-accounts create connect-register-sa --project PROJECT_ID

    注意:請將 PROJECT_ID 取代為 GCP 中要作為 connect-register-sa 服務帳戶父項的雲端專案 ID。

  3. 執行下列命令以建立 JSON 金鑰。

    gcloud iam service-accounts keys create connect-register-key.json --iam-account SERVICE_ACCOUNT_EMAIL

    注意:請將 SERVICE_ACCOUNT_EMAIL 取代為 connect-register-sa 服務帳戶的電子郵件地址。

任務 9:將必要的權限授予服務帳戶

對於將安裝在 OKE 叢集中的 gpc-cloud-agent,若要與 GCP Anthos 通訊,我們需要為剛才建立的服務帳戶授予一些額外權限。

  1. 執行下列命令以授予 gkehub.editor 權限。

    gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" --role "roles/gkehub.editor"

    注意:使用您的 connect-register-sa 服務帳戶電子郵件,將 FLEET_HOST_PROJECT_ID 取代為您的 GCP PROJECT_IDSERVICE_ACCOUNT_EMAIL

  2. 執行下列命令以授予 gkehub.connect 權限。

    gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SERVICE_ACCOUNT_EMAIL --role "roles/gkehub.connect"

    注意:使用您的 connect-register-sa 服務帳戶電子郵件,將 PROJECT_ID 取代為您的 GCP PROJECT_IDSERVICE_ACCOUNT_EMAIL

作業 10:在 GCP Anthos 中登錄 OKE 叢集

一旦我們具備所有的權限,就可以繼續在 Google Anthos 註冊 OKE 叢集。

  1. 前往 Google Anthos。

  2. 選取叢集,然後選取 REGISTER EXISTING CLUSTER 選項。

  3. 按一下 ADD EXTERNAL CLUSTER

  4. 選取叢集名稱、位置、提供者,然後按一下 GENERATE REGISTRATION COMMAND

  5. 複製指令並將 cluster-context 取代為 OKE cluster-context (可以在 ~/.kube/config 檔案中找到),然後將 service-account-key-file 路徑取代為在 任務 8:在 GCP 中建立服務帳戶並取得 JSON 金鑰 (connect-register-key.JSON),最後再取代 kubeconfig 檔案路徑 (通常是 ~/.kube/config)。

  6. 在 GCP Cloud Shell 中執行命令。

作業 11:登入 OKE 叢集

確認

其他學習資源

探索 docs.oracle.com/learn 的其他實驗室,或者存取更多 Oracle Learning YouTube 頻道上的免費學習內容。此外,請瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning 檔案總管。

如需產品文件,請造訪 Oracle Help Center