2.8.3. 자동 사이드카 삽입 활성화

애플리케이션을 배포할 때 배포 오브젝트에서 spec.template.metadata.annotations 에서 true로 주석 sidecar.istio.io/injecttrue 로 구성하여 삽입을 선택해야 합니다. 이 설정을 통해 사이드카 삽입이 OpenShift Container Platform 에코시스템 내 여러 프레임 워크에서 사용되는 builder pod와 같은 다른 OpenShift Container Platform 기능을 방해하지 않도록 할 수 있습니다.

사전 요구 사항

  • 서비스 메시의 일부인 네임스페이스와 자동 사이드카 삽입이 필요한 배포를 식별합니다.

프로세스

  1. 배포를 찾으려면 oc get 명령을 사용합니다.

    $ oc get deployment -n <namespace>

    예를 들어 bookinfo 네임스페이스에서 '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 로 설정합니다.

    예제 snippet from 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