8.9. 서비스 메시에 가상 머신 연결


OpenShift Virtualization이 OpenShift Service Mesh와 통합되었습니다. IPv4를 사용하여 기본 Pod 네트워크에서 가상 머신 워크로드를 실행하는 Pod 간 트래픽을 모니터링, 시각화 및 제어할 수 있습니다.

8.9.1. 서비스 메시에 가상 머신 추가

VM(가상 머신) 워크로드를 서비스 메시에 추가하려면 sidecar.istio.io/inject 주석을 true 로 설정하여 VM 구성 파일에서 자동 사이드카 삽입을 활성화합니다. 그런 다음 VM을 서비스로 노출하여 메시에서 애플리케이션을 확인합니다.

중요

포트 충돌을 방지하려면 Istio 사이드카 프록시에서 사용하는 포트를 사용하지 마십시오. 여기에는 포트 15000, 15001, 15006, 15008, 15020, 15021 및 15090이 포함됩니다.

사전 요구 사항

  • Service Mesh Operator가 설치되어 있어야 합니다.
  • Service Mesh Control Plane을 생성하셨습니다.
  • VM 프로젝트를 서비스 메시 멤버 롤에 추가했습니다.

프로세스

  1. VM 구성 파일을 편집하여 sidecar.istio.io/inject: "true" 주석을 추가합니다.

    설정 파일 예

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      labels:
        kubevirt.io/vm: vm-istio
      name: vm-istio
    spec:
      runStrategy: Always
      template:
        metadata:
          labels:
            kubevirt.io/vm: vm-istio
            app: vm-istio 1
          annotations:
            sidecar.istio.io/inject: "true" 2
        spec:
          domain:
            devices:
              interfaces:
              - name: default
                masquerade: {} 3
              disks:
              - disk:
                  bus: virtio
                name: containerdisk
              - disk:
                  bus: virtio
                name: cloudinitdisk
            resources:
              requests:
                memory: 1024M
          networks:
          - name: default
            pod: {}
          terminationGracePeriodSeconds: 180
          volumes:
          - containerDisk:
              image: registry:5000/kubevirt/fedora-cloud-container-disk-demo:devel
            name: containerdisk

    1
    서비스 선택기 속성과 일치해야 하는 키/값 쌍(레이블)입니다.
    2
    자동 사이드카 삽입을 활성화하는 주석입니다.
    3
    기본 Pod 네트워크와 함께 사용할 바인딩 방법(masquerade 모드)입니다.
  2. VM 구성을 적용합니다.

    $ oc apply -f <vm_name>.yaml 1
    1
    가상 머신 YAML 파일의 이름입니다.
  3. VM을 서비스 메시에 노출하는 서비스 오브젝트를 생성합니다.

    apiVersion: v1
    kind: Service
    metadata:
      name: vm-istio
    spec:
      selector:
        app: vm-istio 1
      ports:
        - port: 8080
          name: http
          protocol: TCP
    1
    서비스에서 대상으로 하는 Pod 세트를 결정하는 서비스 선택기입니다. 이 속성은 VM 구성 파일의 spec.metadata.labels 필드에 해당합니다. 위의 예에서 vm-istio라는 Service 오브젝트는 app= vm-istio 레이블이 있는 모든 Pod에서 TCP 포트 8080을 대상으로 합니다.
  4. 서비스를 생성합니다.

    $ oc create -f <service_name>.yaml 1
    1
    서비스 YAML 파일의 이름입니다.

8.9.2. 추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.