ステップ 2: cert-manager と ASM をインストールする

このステップでは、cert-managerAnthos Service Mesh(ASM)をダウンロードしてインストールする方法について説明します。これらのサービスは Apigee ハイブリッドが動作するために必要です。

cert-manager をインストールする

次の 2 つのコマンドのいずれかを使用して、GitHub から cert-manager v0.14.2 をインストールします。kubectl バージョンを確認するには、kubectl version コマンドを使用します。

  • Kubernetes 1.15以降を使用している場合:
    kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.14.2/cert-manager.yaml
  • Kubernetes のバージョンが 1.15 よりも古い場合:
    kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.14.2/cert-manager-legacy.yaml

cert-manager 名前空間が作成され、その名前空間内に複数の cert-manager リソースが作成されたというレスポンスが表示されます。

要件

  1. 次のコマンドを使用して、Cloud SDK 構成の設定を確認します。
    gcloud config list
    [compute]
    region = us-central1
    [core]
    account = user@acme.com
    disable_usage_reporting = False
    project = my-hybrid-project
    
    Your active configuration is: [default]
  2. コンピューティング リージョンまたはコンピューティング ゾーンが、クラスタの作成時に使用したリージョンまたはゾーンに設定されていることを確認します。リージョン クラスタを作成した場合は、その compute/zone プロパティが設定されているなら、unset を使用してそれを削除します。ゾーンクラスタを作成した場合は、その compute/region プロパティが設定されているなら、unset を使用してそれを削除します。構成にはコンピューティング リージョンまたはコンピューティング ゾーンのいずれかを設定する必要がありますが、両方は設定できません。たとえば、unset を使用して compute/zone property をクリアするには、次のコマンドを使用します。
    gcloud config unset compute/zone
  3. 次のコマンドを使用して、KDUBECONFIG ファイルパスで変数を設定します。このファイルは、クラスタの作成時に管理マシンで作成されました。
    export KUBECONFIG=KUBECONFIG_PATH

    次に例を示します。

    export KUBECONFIG=~/.kube/my-config

ASM を設定してダウンロードする

次に、ASM ドキュメントを使用して環境を設定し、ASM をダウンロードします。

開始する前に、以下の手順をよくお読みください。ASM ドキュメントにある手順をいくつか行ってから、この説明に戻ってインストールを完了してください。

  1. ASM のインストール手順に移動し、ハイブリッドの設定に適した ASM バージョンをインストールします。

マニフェストを適用する

ASM インストール ファイルをダウンロードして解凍したら、次の手順に進みます。

  1. ダウンロードして解凍した Istio ディレクトリ内にいることを確認します。たとえば、1.6.11-asm.1 です。
  2. インストールした Istio のバージョンに対して次のコマンドを実行します。
    • ASM バージョン 1.6 以降(1.6.11 以降を推奨)をインストールした場合は、次のコマンドを実行します。your_static_ip は、以前に静的 IP を予約するで予約した静的 IP アドレスです。
      ./bin/istioctl install --set profile=asm-multicloud \
       --set values.gateways.istio-ingressgateway.loadBalancerIP=your_static_IP \
       --set meshConfig.enableAutoMtls=false \
       --set meshConfig.accessLogFile=/dev/stdout \
       --set meshConfig.accessLogEncoding=1 \
       --set meshConfig.accessLogFormat='{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
    • ASM 1.5.x をインストールした場合は、次のコマンドを実行します。your_static_ip は、以前に静的 IP を予約するで予約した静的 IP アドレスです。
      ./bin/istioctl manifest apply --set profile=asm-onprem \
       --set values.gateways.istio-ingressgateway.loadBalancerIP=your_static_IP \
       --set meshConfig.enableAutoMtls=false \
       --set meshConfig.accessLogFile=/dev/stdout \
       --set meshConfig.accessLogEncoding=1 \
       --set meshConfig.accessLogFormat='{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
  3. 最後に、ASM ドキュメントに戻り、コントロール プレーンのコンポーネントを確認するの手順を踏み、インストールの検証を行います。

ASM インストールのカスタマイズ

先ほど行った ASM のインストールは最小限のインストールですが、基本的なユースケースについて Apigee ハイブリッドをテストして使用するには十分です。ロードバランサのポート番号の追加、削除、変更などの高度なユースケースについては、オプション機能の有効化をご覧ください。

まとめ

これで、cert-manager と ASM がインストールされ、お使いのローカルマシンに Apigee ハイブリッド コマンドライン ツールをインストールする準備ができました。

1 2 (次)ステップ 3: apigeectl をインストールする 4 5