ステップ 5: ハイブリッド ランタイムをインストールする

構成をクラスタに適用する

次の手順で Apigee ハイブリッドをクラスタにインストールします。

  1. hybrid-base-directory/hybrid-files ディレクトリに移動します。
  2. 次のコマンドを使用して、kubectl が正しいコンテキストに設定されていることを確認します。現在のコンテキストは、Apigee ハイブリッドをデプロイするクラスタに設定する必要があります。
    kubectl config get-contexts
  3. 次のコマンドを使用して、KUBECONFIG 変数が設定されていることを確認します。設定されていない場合は、前提事項をご覧ください。
    echo $KUBECONFIG
  4. ドライランの初期化を実行します。--dry-run フラグを指定して init コマンドを実行します。ドライランを行うと、クラスタが変更される前にエラーがないかどうかを確認できます。

    ハイブリッド バージョン 1.3 では、--dry-run フラグの構文は、実行している kubectl のバージョンによって異なります。次のコマンドで kubectl のバージョンを確認します。

    gcloud version

    kubectl バージョン 1.17 以前:

    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true

    kubectl バージョン 1.18 以降:

    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
  5. エラーがなければ、次のように init コマンドを実行します。
    $APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml

    init コマンドにより、Apigee デプロイメント サービスの Apigee Deployment Controller と Apigee Admission Webhook がインストールされます。

  6. デプロイメントのステータスを確認するには、次のコマンドを使用します。
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
    kubectl get pods -n apigee-system
    kubectl get pods -n istio-system

    ポッドの準備ができたら、次のステップに進みます。

  7. ドライランのインストールを行います。--dry-run フラグを指定して apply コマンドを実行します。

    kubectl バージョン 1.17 以前:

    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true

    kubectl バージョン 1.18 以降:

    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
  8. エラーがなければ、次のコマンドを使用して Apigee 固有のランタイム コンポーネントをクラスタに適用できます。
    $APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
  9. デプロイの状態を確認するには、次のコマンドを実行します。
    $APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml

    ポッドの準備がすべて整うまで、このステップを繰り返します。 Pod の起動には数分かかることがあります。

Synchronizer アクセスを有効にする

Synchronizer アクセスを有効にするには、次の手順を行います。

  1. /hybrid-base-directory/hybrid-files/ ディレクトリ内にいることを確認します。
  2. Apigee 組織管理者のサービス アカウント キーへのパスを確認します。これは、ステップ 3: apigeectl をインストールするで作成したアカウントです。次のコマンドを使用します。
    ls service-accounts/*admin*

    結果は次のようになります。

    service-accounts/hybrid-example-2-apigee-org-admin.json
  3. キーファイルの名前を使用して ORG_ADMIN_ACCOUNT 環境変数を作成します。次に例を示します。
    export ORG_ADMIN_ACCOUNT="hybrid-example-2-apigee-org-admin.json"
  4. トークンを取得するには、次のコマンドを実行します。
    export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
    export TOKEN=$(gcloud auth application-default print-access-token)
  5. 次のコマンドで apigee-synchronizer サービス アカウントのメールアドレスを取得します。
    gcloud iam service-accounts list --filter "apigee-synchronizer"

    パターン apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com と一致する場合、そのパターンは次のステップで使用できます。

  6. 次のコマンドを使用して setSyncAuthorization API を呼び出し、Synchronizer に必要な権限を有効にします。
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \
       -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com"'"]}'
    

    ここで

    • $ORG_NAME: ハイブリッド組織の名前。
    • apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com: apigee-syncnronizer サービス アカウントのメールアドレス。
  7. サービス アカウントが設定されたことを確認するには、次のコマンドを使用して API を呼び出し、サービス アカウントのリストを取得します。
    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \
       -d ''
    

    出力は次のようになります。

    {
       "identities":[
          "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }

Apigee Connect の有効化

Apigee Connect は、ランタイム プレーンの Apigee 管理プレーンと MART 間の通信を管理します。詳細については、Apigee Connect の使用をご覧ください。

Apigee Connect を有効にする手順は次のとおりです。

  1. 次の例のように、コマンドラインで gcloud 認証情報を取得します。

    TOKEN=$(gcloud auth print-access-token)

    トークンにデータが入力されていることを確認するには、次の例のように echo を使用します。

    echo $TOKEN

    エンコードされた文字列としてトークンが表示されるはずです。

    詳細については、gcloud コマンドライン ツールの概要をご覧ください。

  2. 次のコマンドを使用して、組織で Apigee Connect が有効になっているかどうかを確認します。
    curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"

    ここで、$ORG_NAME は組織の ID です。

    出力に以下が含まれているかを確認します。

          "name" : "features.mart.connect.enabled",
          "value" : "true"

    Apigee Connect が有効になっています。このセクションの残りの部分はスキップできます。

  3. 次のコマンドで Apigee Connect を有効にします。
    curl -H "Authorization: Bearer $TOKEN" -X PUT \
      -H "Content-Type: application/json" \
      -d '{
        "name" : "'"$ORG_NAME"'",
        "properties" : {
          "property" : [ {
            "name" : "features.hybrid.enabled",
            "value" : "true"
          }, {
            "name" : "features.mart.connect.enabled",
            "value" : "true"
          } ]
        }
      }' \
      "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
    

    出力に次のプロパティが含まれていれば、Apigee Connect は有効になっています。

          {
            "name": "features.mart.connect.enabled",
            "value": "true"
          },
          {
            "name": "features.hybrid.enabled",
            "value": "true"
          }
    

    出力は次のようになります。

    {
      "name": "hybrid-example-2",
      "createdAt": "1594409699772",
      "lastModifiedAt": "1594776283697",
      "environments": [
        "example-env"
      ],
      "properties": {
        "property": [
          {
            "name": "features.mart.connect.enabled",
            "value": "true"
          },
          {
            "name": "features.hybrid.enabled",
            "value": "true"
          }
        ]
      },
      "analyticsRegion": "us-central1",
      "runtimeType": "HYBRID",
      "subscriptionType": "TRIAL"
    }