同期データを表示する

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

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

デプロイ済みのプロキシのリストを取得する

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

  1. クラスタ内のポッドの名前を取得します。
    kubectl get pods -n namespace
  2. ポート転送を使用して、apigee-runtime ポッドにアクセスします。ポート転送の構文は次のとおりです。
    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 ポッドと apigee-runtimeポッド内にマウントされたディレクトリに保存されます。このセクションでは、ポッドのファイル システムで同期されたデータの表示方法について説明します。

apigee-runtime ポッドで同期データを表示する

  1. クラスタ内のポッドの名前を取得します。
    kubectl get pods -n namespace
  2. apigee-runtime ポッドのシェルを取得します。
    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 ポッドの同期データを表示する

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

    例:

    kubectl exec -it -n my-namespace \
            apigee-sync-6wkvq -- /bin/bash
  3. ポッドで次のディレクトリに移動し、同期データを探します。
    /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 ディレクトリにドリルダウンすると、各環境の実際のプロキシ構成(プロキシ バンドル)とキーストアが見つかります。