1.10.2. サイドカーコンテナーの自動挿入の有効化
アプリケーションをデプロイする場合は、deployment オブジェクトで spec.template.metadata.annotations のアノテーション sidecar.istio.io/inject を true に設定して、インジェクションをオプトインする必要があります。オプトインにより、サイドカーの挿入が OpenShift Container Platform エコシステム内の複数のフレームワークが使用する、ビルダー Pod などの他の OpenShift Container Platform 機能に干渉しないようにします。
前提条件
- サービスメッシュの一部である namespace と、サイドカーの自動注入が必要なデプロイメントを特定しておく。
手順
デプロイメントを見つけるには、
oc getコマンドを使用します。$ oc get deployment -n <namespace>たとえば、
bookinfonamespaxce の ratings-v1 マイクロサービスのデプロイメントファイルを表示するには、次のコマンドを使用して YAML 形式でリソースを表示します。oc get deployment -n bookinfo ratings-v1 -o yaml- エディターでアプリケーションのデプロイメント設定の YAML ファイルを開きます。
次の例に示すように、
spec.template.metadata.annotations.sidecar.istio/injectを Deployment YAML に追加し、sidecar.istio.io/injectをtrueに設定します。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'- デプロイメント設定ファイルを保存します。
ファイルをアプリケーションが含まれるプロジェクトに追加し直します。
$ oc apply -n <namespace> -f deployment.yamlこの例では、
bookinfoはratings-v1アプリを含むプロジェクトの名前であり、deployment-ratings-v1.yamlは編集したファイルです。$ oc apply -n bookinfo -f deployment-ratings-v1.yamlリソースが正常にアップロードされたことを確認するには、以下のコマンドを実行します。
$ oc get deployment -n <namespace> <deploymentName> -o yaml以下に例を示します。
$ oc get deployment -n bookinfo ratings-v1 -o yaml