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>
たとえば、
bookinfo
namespaxce の 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