1.10. 사이드카 삽입 활성화


메시에 서비스가 포함된 네임스페이스를 추가한 후 다음 단계는 애플리케이션의 배포 리소스에서 자동 사이드카 삽입을 활성화하는 것입니다. 각 배포에 대해 자동 사이드카 삽입을 활성화해야 합니다.

Bookinfo 샘플 애플리케이션을 설치한 경우 애플리케이션이 배포되고 사이드카가 설치 절차의 일부로 삽입되었습니다. 자체 프로젝트 및 서비스를 사용하는 경우 AWS의 Red Hat OpenShift Service에 애플리케이션을 배포합니다.

참고

Pod의 애플리케이션 컨테이너보다 먼저 실행되는 특수 컨테이너인 Init Container에서 시작한 트래픽은 기본적으로 서비스 메시 외부에서 이동할 수 없습니다. 메시 외부에서 네트워크 트래픽 연결을 설정해야 하는 모든 작업 Init Container가 수행됩니다.

Init Container를 서비스에 연결하는 방법에 대한 자세한 내용은 Service Mesh 사이드카가 삽입된 Pod의 CrashLoopBackOff의 Red Hat Knowledgebase 솔루션 initContainer를참조하십시오.

1.10.1. 사전 요구 사항

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

애플리케이션을 배포할 때 배포 오브젝트에서 spec.template.metadata.labels 의 label sidecar.istio.io/injecttrue 로 구성하여 애플리케이션을 삽입할 수 있습니다. 사이드카 삽입이 AWS 에코시스템의 Red Hat OpenShift Service 내에서 다양한 프레임워크에서 사용하는 빌더 Pod와 같은 다른 AWS 기능을 방해하지 않도록 합니다.

사전 요구 사항

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

절차

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

    $ oc get deployment -n <namespace>
    Copy to Clipboard Toggle word wrap

    예를 들어 info 네임스페이스에서 'ratings-v1' 마이크로 서비스에 대한 Deployment YAML 파일을 보려면 다음 명령을 사용하여 YAML 형식의 리소스를 확인합니다.

    oc get deployment -n info ratings-v1 -o yaml
    Copy to Clipboard Toggle word wrap
  2. 편집기에서 애플리케이션의 Deployment YAML 파일을 엽니다.
  3. 다음 예와 같이 spec.template.metadata.labels.sidecar.istio/inject 를 Deployment YAML 파일에 추가하고 sidecar.istio.io/injecttrue 로 설정합니다.

    info deployment-ratings-v1.yaml의 스니펫 예

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: ratings-v1
      namespace: info
      labels:
        app: ratings
        version: v1
    spec:
      template:
        metadata:
          labels:
            sidecar.istio.io/inject: 'true'
    Copy to Clipboard Toggle word wrap

    참고

    자동 사이드카 삽입을 활성화할 때 annotations 매개변수를 사용하는 것은 더 이상 사용되지 않으며 labels 매개변수를 사용하여 교체됩니다.

  4. Deployment YAML 파일을 저장합니다.
  5. 앱이 포함된 프로젝트에 파일을 다시 추가합니다.

    $ oc apply -n <namespace> -f deployment.yaml
    Copy to Clipboard Toggle word wrap

    이 예제에서 inforatings-v1 app 및 deployment-ratings-v1.yaml 이 포함된 프로젝트의 이름입니다.

    $ oc apply -n info -f deployment-ratings-v1.yaml
    Copy to Clipboard Toggle word wrap
  6. 리소스가 업로드되었는지 확인하려면 다음 명령을 실행합니다.

    $ oc get deployment -n <namespace> <deploymentName> -o yaml
    Copy to Clipboard Toggle word wrap

    예를 들면 다음과 같습니다.

    $ oc get deployment -n info ratings-v1 -o yaml
    Copy to Clipboard Toggle word wrap

1.10.3. 사이드카 삽입 검증

Kiali 콘솔은 애플리케이션, 서비스 및 워크로드에 사이드카 프록시가 있는지 여부를 확인하는 여러 가지 방법을 제공합니다.

그림 1.3. 누락된 사이드카 배지

그래프 페이지에는 다음 그래프에서 Missing 사이드카 를 나타내는 노드 배지가 표시됩니다.

  • 앱 그래프
  • 버전이 지정된 앱 그래프
  • 워크로드 그래프

그림 1.4. 사이드카 아이콘이 누락됨

애플리케이션 페이지에는 사이드카가 없는 네임스페이스의 애플리케이션의 세부 정보 열에 Missing Sidecar 아이콘이 표시됩니다.

워크로드 페이지에는 사이드카가 없는 네임스페이스의 애플리케이션의 세부 정보 열에 Missing Sidecar 아이콘이 표시됩니다.

서비스 페이지에는 사이드카가 없는 네임스페이스에 있는 애플리케이션의 세부 정보 열에 Missing Sidecar 아이콘이 표시됩니다. 여러 버전의 서비스가 있는 경우 서비스 세부 정보 페이지를 사용하여 Missing Sidecar 아이콘을 봅니다.

워크로드 세부 정보 페이지에는 애플리케이션 및 프록시 로그를 보고 연관시킬 수 있는 특수 통합 로그 탭이 있습니다. Envoy 로그를 다른 방법으로 보고 애플리케이션 워크로드에 대한 사이드카 삽입을 검증할 수 있습니다.

또한 워크로드 세부 정보 페이지에는 Envoy 프록시이거나 Envoy 프록시와 함께 삽입된 모든 워크로드에 대한 Envoy 탭이 있습니다. 이 탭에는 클러스터 ,Listeners,Routes , Bootstrap,Config, Metrics.

Envoy 액세스 로그 활성화에 대한 자세한 내용은 문제 해결 섹션을 참조하십시오.

Envoy 로그를 보는 방법에 대한 자세한 내용은 Kiali 콘솔에서 로그 보기를참조하십시오.

1.10.4. 주석을 통해 프록시 환경 변수 설정

Envoy 사이드카 프록시에 대한 구성은 ServiceMeshControlPlane 에서 관리합니다.

injection-template.yaml 파일의 배포에 Pod 주석을 추가하여 애플리케이션의 사이드카 프록시의 환경 변수를 설정할 수 있습니다. 환경 변수가 사이드카에 삽입됩니다.

예: injection-template.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: resource
spec:
  replicas: 7
  selector:
    matchLabels:
      app: resource
  template:
    metadata:
      annotations:
        sidecar.maistra.io/proxyEnv: "{ \"maistra_test_env\": \"env_value\", \"maistra_test_env_2\": \"env_value_2\" }"
Copy to Clipboard Toggle word wrap

주의

자체 사용자 정의 리소스를 생성할 때 maistra.io/ 레이블 및 주석을 포함하지 않아야 합니다. 이러한 레이블 및 주석은 Operator에서 리소스를 생성하고 관리하는 것을 나타냅니다. 자체 리소스를 생성할 때 Operator 생성 리소스에서 콘텐츠를 복사하는 경우 maistra.io/ 로 시작하는 레이블 또는 주석을 포함하지 마십시오. 이러한 레이블 또는 주석이 포함된 리소스는 다음 조정 과정에서 Operator에서 덮어쓰거나 삭제합니다.

1.10.5. 사이드카 프록시 업데이트

사이드카 프록시의 구성을 업데이트하려면 애플리케이션 관리자가 애플리케이션 Pod를 다시 시작해야 합니다.

배포 시 자동 사이드카 삽입을 사용하는 경우 주석을 추가하거나 수정하여 배포에서 pod 템플릿을 업데이트할 수 있습니다. 다음 명령을 실행하여 pod를 다시 배포합니다.

$ oc patch deployment/<deployment> -p '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt": "'`date -Iseconds`'"}}}}}'
Copy to Clipboard Toggle word wrap

배포에서 자동 사이드카 삽입을 사용하지 않는 경우 배포 또는 Pod에 지정된 사이드카 컨테이너 이미지를 수정한 다음 Pod를 다시 시작하여 사이드카를 수동으로 업데이트해야 합니다.

1.10.6. 다음 단계

환경에 맞게 Red Hat OpenShift Service Mesh 기능을 구성합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat