同期データを表示する

ハイブリッド管理プレーンにデプロイされたプロキシは、Synchronizerapigee-sync)というサービスによりランタイム プレーンにダウンロードされます。ダウンロードされたプロキシは Pod ストレージに保存されます。MP は、このストレージからプロキシを取得し、デプロイします。

もちろん、API プロキシを呼び出してデプロイ状況を確認することもできます。このセクションでは、プロキシの同期とデプロイの確認に使用できるその他の方法について説明します。

デプロイされたプロキシのリスト

classification/tree API を使用して、MP にデプロイされたプロキシをリストします。

  1. クラスタ内の Pod の名前を取得します。
    kubectl get pods -n namespace
  2. ポート転送を使用して、apigee-runtime Pod にアクセスします。ポート転送の構文は次のとおりです。
    kubectl port-forward -n namespace podname 8843:8843

    例:

    kubectl port-forward -n apigee \
        apigee-runtime-my-organization-test-blue-57965b7789-6j4bp 8843:8843
  3. 次の例のように、別のターミナル ウィンドウを開き、curl などのユーティリティを使用して classification/tree API にリクエストを送信します。
    curl -k https://0:8843/v1/classification/tree

    次のレスポンス例には、「test」環境にデプロイされたプロキシの情報が含まれています。

    [ {
      "condition" : "(always matches)",
      "virtualHost" : {
        "env" : "test",
        "name" : "default",
        "org" : "my-organization",
        "tree" : {
          "elements" : [ {
            "application" : "myproxy",
            "basePath" : "/myproxy",
            "name" : "default",
            "revision" : "1"
          } ],
          "name" : "IdentificationTree"
        }
      }
    } ]

同期データを直接表示する

ランタイム プレーンと同期されたデータは、apigee-sync Pod と apigee-runtime Pod 内にマウントされたディレクトリに保存されます。このセクションでは、Pod のファイル システムで同期されたデータの表示方法について説明します。

apigee-runtime Pod で同期データを表示する

  1. クラスタ内の Pod の名前を取得します。
    kubectl get pods -n namespace
  2. apigee-runtime Pod のシェルを取得します。
    kubectl exec -it -n your_namespace runtime_pod_name \
        --container apigee-runtime -- /bin/bash

    例:

    kubectl exec -it -n my-namespace \
      apigee-runtime-hybrid-docs-test-blue-6fb96f5b9-2k8hp \
      --container apigee-runtime -- /bin/bash
  3. /opt/apigee/repomnt ディレクトリのコンテンツを表示します。プロキシデータが同期されている場合、次のようなディレクトリのコンテンツが表示されます。
    ls /opt/apigee/repomnt
    20190207.184443.394 owners versions.properties
  4. cd を実行して、名前の先頭に最新のタイムスタンプが付いているディレクトリに移動します(この例では 20190207.184443.394)。
  5. このディレクトリに env.json ファイルがあります。このファイルには、管理プレーンからダウンロードされた API ランタイム環境が記述されています。これは、プロキシ、環境情報、キーストアなど、ランタイムの機能に必要な共有情報の「契約」を表します。
  6. deployments ディレクトリにドリルダウンすると、プロキシのデプロイ情報が表示されます。
  7. config ディレクトリにドリルダウンすると、各環境の実際のプロキシ構成(プロキシ バンドル)とキーストアが見つかります。

apigee-sync Pod の同期データを表示する

  1. クラスタ内の Pod の名前を取得します。
    kubectl get pods -n namespace
  2. apigee-sync Pod のシェルを取得します。
    kubectl exec -it -n your_namespace \
        sync_pod_name -- /bin/bash

    例:

    kubectl exec -it -n my-namespace \
        apigee-sync-6wkvq -- /bin/bash
  3. Pod で次のディレクトリに移動し、同期データを探します。
    /opt/apigee/repomnt/your_org/yourEnv

    例:

    ls /opt/apigee/repomnt/hybrid/test
    20190207.184443.394 owners versions.properties
  4. cd を実行して、名前の先頭に最新のタイムスタンプが付いているディレクトリに移動します(この例では 20190207.184443.394)。
  5. このディレクトリに env.json ファイルがあります。このファイルには、管理プレーンからダウンロードされた API ランタイム環境が記述されています。これは、プロキシ、環境情報、キーストアなど、ランタイムの機能に必要な共有情報の「契約」を表します。
  6. deployments ディレクトリにドリルダウンすると、プロキシのデプロイ情報が表示されます。
  7. config ディレクトリにドリルダウンすると、各環境の実際のプロキシ構成(プロキシ バンドル)とキーストアが見つかります。