1.10.2. サイドカーコンテナーの自動挿入の有効化

アプリケーションをデプロイする場合は、deployment オブジェクトで spec.template.metadata.annotations のアノテーション sidecar.istio.io/injecttrue に設定して、インジェクションをオプトインする必要があります。オプトインにより、サイドカーの挿入が OpenShift Container Platform エコシステム内の複数のフレームワークが使用する、ビルダー Pod などの他の OpenShift Container Platform 機能に干渉しないようにします。

前提条件

  • サービスメッシュの一部である namespace と、サイドカーの自動注入が必要なデプロイメントを特定しておく。

手順

  1. デプロイメントを見つけるには、oc get コマンドを使用します。

    $ oc get deployment -n <namespace>

    たとえば、bookinfo namespaxce の ratings-v1 マイクロサービスのデプロイメントファイルを表示するには、次のコマンドを使用して YAML 形式でリソースを表示します。

    oc get deployment -n bookinfo ratings-v1 -o yaml
  2. エディターでアプリケーションのデプロイメント設定の YAML ファイルを開きます。
  3. 次の例に示すように、spec.template.metadata.annotations.sidecar.istio/inject を Deployment YAML に追加し、sidecar.istio.io/injecttrue に設定します。

    bookinfo deployment-ratings-v1.yaml のスニペットの例

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: ratings-v1
      namespace: bookinfo
      labels:
        app: ratings
        version: v1
    spec:
      template:
        metadata:
          annotations:
            sidecar.istio.io/inject: 'true'

  4. デプロイメント設定ファイルを保存します。
  5. ファイルをアプリケーションが含まれるプロジェクトに追加し直します。

    $ oc apply -n <namespace> -f deployment.yaml

    この例では、bookinforatings-v1 アプリを含むプロジェクトの名前であり、deployment-ratings-v1.yaml は編集したファイルです。

    $ oc apply -n bookinfo -f deployment-ratings-v1.yaml
  6. リソースが正常にアップロードされたことを確認するには、以下のコマンドを実行します。

    $ oc get deployment -n <namespace> <deploymentName> -o yaml

    以下に例を示します。

    $ oc get deployment -n bookinfo ratings-v1 -o yaml