ノート:

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回クリックし、「作成」をクリックします。

タスク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: OCIからGCPへの~/.kube/configのコピー

タスク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からのトークン取得

タスク3: サービス・アカウントの作成で生成されたトークンを取得します。

  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. GCP Cloud ShellでKubeconfigファイルへのサービス・アカウント認証トークンの追加というドキュメントのステップ6-7を実行します。

    ノート:残りのタスクでは、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を、connect-register-saサービス・アカウントの親にするGCPのクラウド・プロジェクトの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"

    ノート: FLEET_HOST_PROJECT_IDGCP PROJECT_IDに置き換え、SERVICE_ACCOUNT_EMAILconnect-register-saサービス・アカウントの電子メールに置き換えます。

  2. 次のコマンドを実行して、gkehub.connect権限を付与します。

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

    ノート: PROJECT_IDGCP PROJECT_IDに置き換え、SERVICE_ACCOUNT_EMAILconnect-register-saサービス・アカウントの電子メールに置き換えます。

タスク10: GCP AnthosへのOKEクラスタの登録

すべての権限が設定されると、Google AnthosでのOKEクラスタの登録を続行できます。

  1. Google Anthosへ。

  2. 「クラスタ」を選択し、「REGISTER EXISTING CLUSTER」オプションを選択します。

  3. 「外部クラスタの追加」をクリックします。

  4. クラスタ名、場所、プロバイダを選択し、「登録コマンドの生成」をクリックします。

  5. コマンドをコピーし、cluster-contextをOKEクラスタ・コンテキストに置き換えます(これは~/.kube/configファイルにあります)。service-account-key-fileパスをタスク8: GCPでのサービス・アカウントの作成とJSONキーの取得(connect-register-key.JSON)で作成したJSONファイルへのパスに置き換え、最後にkubeconfigファイル・パス(通常は~/.kube/config)を置き換えます。

  6. GCP Cloud Shellでコマンドを実行します。

タスク11: OKEクラスタへのログイン

謝辞

その他の学習リソース

docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。