1.8. ServiceMeshControlPlane 생성


1.8.1. About ServiceMeshControlPlane

컨트롤 플레인에는 Istiod, Ingress 및 Egress 게이트웨이 및 Kiali 및 Jaeger와 같은 기타 구성 요소가 포함됩니다. 컨트롤 플레인은 Service Mesh Operator 및 데이터 플레인 애플리케이션 및 서비스와 다른 별도의 네임스페이스에 배포해야 합니다. OpenShift Container Platform 웹 콘솔 또는 oc 클라이언트 툴을 사용하여 명령줄에서 SMCP( ServiceMeshControlPlane)의 기본 설치를 배포할 수 있습니다.

참고

이 기본 설치는 기본 OpenShift Container Platform 설정을 기반으로 구성되며 프로덕션용으로 설계되지 않습니다. 이 기본 설치를 사용하여 설치를 확인한 다음 환경에 대한 ServiceMeshControlPlane 설정을 구성합니다.

참고

ROSA(Red Hat OpenShift Service on AWS)는 리소스를 생성할 수 있는 위치에 대한 추가 제한을 배치하므로 기본 배포가 작동하지 않습니다. ROSA 환경에 SMCP를 배포하기 전에 추가 요구 사항은 AWS의 Red Hat OpenShift Service에 서비스 메시 설치를 참조하십시오.

참고

Service Mesh 문서는 istio-system을 예제 프로젝트로 사용하지만, 모든 프로젝트에 서비스 메시를 배포할 수 있습니다.

1.8.1.1. 웹 콘솔에서 Service Mesh Control Plane 배포

웹 콘솔을 사용하여 기본 ServiceMeshControlPlane을 배포할 수 있습니다. 이 예제에서 istio-system 은 Service Mesh Control Plane 프로젝트의 이름입니다.

사전 요구 사항

  • Red Hat OpenShift Service Mesh Operator가 설치되어 있어야 합니다.
  • cluster-admin 역할이 있는 계정.

절차

  1. cluster-admin 역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 계정이 있어야 합니다.
  2. istio-system이라는 프로젝트를 생성합니다.

    1. 프로젝트로 이동합니다.
    2. 프로젝트 만들기를 클릭합니다.
    3. 이름 필드에 istio-system을 입력합니다. ServiceMeshControlPlane 리소스는 마이크로 서비스 및 Operator와 별도로 프로젝트에 설치해야 합니다.

      이 단계에서는 istio-system 을 예로 사용하지만 서비스가 포함된 프로젝트와 별도로 모든 프로젝트에 Service Mesh Control Plane을 배포할 수 있습니다.

    4. 생성을 클릭합니다.
  3. Operators 설치된 Operator로 이동합니다.
  4. Red Hat OpenShift Service Mesh Operator를 클릭한 다음 Istio Service Mesh Control Plane을 클릭합니다.
  5. Istio Service Mesh Control Plane 탭에서 ServiceMeshControlPlane 생성을 클릭합니다.
  6. ServiceMeshControlPlane 생성 페이지에서 기본 Service Mesh Control Plane 버전을 수락하여 제품의 최신 버전에서 사용할 수 있는 기능을 활용합니다. 컨트롤 플레인의 버전에 따라 Operator 버전에 관계없이 사용 가능한 기능을 결정합니다.

    1. 생성을 클릭합니다. Operator는 구성 매개변수를 기반으로 pods, 서비스 및 Service Mesh Control Plane 구성 요소를 생성합니다. 나중에 ServiceMeshControlPlane 설정을 구성할 수 있습니다.
  7. 컨트롤 플레인이 올바르게 설치되었는지 확인하려면 Istio Service Mesh Control Plane 탭을 클릭합니다.

    1. 새 컨트롤 플레인의 이름을 클릭합니다.
    2. 리소스 탭을 클릭하여 Operator가 생성 및 구성된 Red Hat OpenShift Service Mesh Control Plane 리소스를 확인합니다.

1.8.1.2. CLI를 사용하여 Service Mesh Control Plane 배포

명령줄에서 기본 ServiceMeshControlPlane을 배포할 수 있습니다.

사전 요구 사항

  • Red Hat OpenShift Service Mesh Operator가 설치되어 있어야 합니다.
  • OpenShift CLI(oc)에 액세스합니다.

절차

  1. cluster-admin 역할의 사용자로 OpenShift Container Platform CLI에 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 계정이 있어야 합니다.

    $ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
  2. istio-system이라는 프로젝트를 생성합니다.

    $ oc new-project istio-system
  3. 다음 예제를 사용하여 istio-installation.yaml이라는 ServiceMeshControlPlane 파일을 생성합니다. Service Mesh Control Plane의 버전에 따라 Operator 버전에 관계없이 사용 가능한 기능을 결정합니다.

    버전 2.4 istio-installation.yaml 예

    apiVersion: maistra.io/v2
    kind: ServiceMeshControlPlane
    metadata:
      name: basic
      namespace: istio-system
    spec:
      version: v2.4
      tracing:
        type: Jaeger
        sampling: 10000
      addons:
        jaeger:
          name: jaeger
          install:
            storage:
              type: Memory
        kiali:
          enabled: true
          name: kiali
        grafana:
          enabled: true

  4. 다음 명령을 실행하여 서비스 메시 컨트롤 플레인을 배포합니다. 여기서 < istio_installation.yaml >에는 파일에 대한 전체 경로가 포함됩니다.

    $ oc create -n istio-system -f <istio_installation.yaml>
  5. Pod 배포 진행 상황을 조사하려면 다음 명령을 실행합니다.

    $ oc get pods -n istio-system -w

    출력은 다음과 유사합니다.

    NAME                                   READY   STATUS    RESTARTS   AGE
    grafana-b4d59bd7-mrgbr                 2/2     Running   0          65m
    istio-egressgateway-678dc97b4c-wrjkp   1/1     Running   0          108s
    istio-ingressgateway-b45c9d54d-4qg6n   1/1     Running   0          108s
    istiod-basic-55d78bbbcd-j5556          1/1     Running   0          108s
    jaeger-67c75bd6dc-jv6k6                2/2     Running   0          65m
    kiali-6476c7656c-x5msp                 1/1     Running   0          43m
    prometheus-58954b8d6b-m5std            2/2     Running   0          66m

1.8.1.3. CLI를 사용하여 SMCP 설치 검증

명령줄에서 ServiceMeshControlPlane 생성을 검증할 수 있습니다.

절차

  1. cluster-admin 역할의 사용자로 OpenShift Container Platform CLI에 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 계정이 있어야 합니다.

    $ oc login https://<HOSTNAME>:6443
  2. 다음 명령을 실행하여 서비스 메시 컨트롤 플레인 설치를 확인합니다. 여기서 istio-system 은 Service Mesh Control Plane을 설치한 네임스페이스입니다.

    $ oc get smcp -n istio-system

    STATUS 열이 ComponentsReady인 경우 설치가 성공적으로 완료되었습니다.

    NAME    READY   STATUS            PROFILES      VERSION   AGE
    basic   10/10   ComponentsReady   ["default"]   2.1.1     66m

1.8.2. 컨트롤 플레인 구성 요소 및 인프라 노드 정보

인프라 노드는 다음 두 가지 기본 목적으로 인프라 워크로드를 분리하는 방법을 제공합니다.

  • 서브스크립션 수에 대한 청구 비용 발생 방지
  • 인프라 워크로드의 유지 관리 및 관리를 분리하려면 다음을 수행합니다.

인프라 노드에서 실행되도록 일부 또는 모든 Service Mesh Control Plane 구성 요소를 구성할 수 있습니다.

1.8.2.1. 웹 콘솔을 사용하여 인프라 노드에서 실행되도록 모든 컨트롤 플레인 구성 요소 구성

Service Mesh Control Plane에서 배포한 모든 구성 요소가 인프라 노드에서 실행되는 경우 이 작업을 수행합니다. 이러한 배포된 구성 요소에는 Istiod, Ingress Gateway, Egress Gateway 및 Prometheus, Grafana 및 Distributed Tracing과 같은 선택적 애플리케이션이 포함됩니다.

컨트롤 플레인이 작업자 노드에서 실행되면 이 작업을 건너뜁니다.

사전 요구 사항

  • Red Hat OpenShift Service Mesh Operator가 설치되어 있습니다.
  • cluster-admin 역할의 사용자로 로그인되어 있습니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 사용자로 로그인되어 있습니다.

절차

  1. OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. Operators 설치된 Operator로 이동합니다.
  3. Red Hat OpenShift Service Mesh Operator를 클릭한 다음 Istio Service Mesh Control Plane 을 클릭합니다.
  4. 컨트롤 플레인 리소스의 이름을 클릭합니다. 예를 들어 기본.
  5. YAML 을 클릭합니다.
  6. 다음 예와 같이 ServiceMeshControlPlane 리소스의 spec.runtime.defaults.pod 사양에 nodeSelectortolerations 필드를 추가합니다.

    spec:
      runtime:
        defaults:
          pod:
            nodeSelector: 1
              node-role.kubernetes.io/infra: ""
            tolerations: 2
            - effect: NoSchedule
              key: node-role.kubernetes.io/infra
              value: reserved
            - effect: NoExecute
              key: node-role.kubernetes.io/infra
              value: reserved
    1
    ServiceMeshControlPlane Pod가 인프라 노드에만 예약되어 있는지 확인합니다.
    2
    실행을 위해 인프라 노드에서 Pod를 수락하는지 확인합니다.
  7. 저장을 클릭합니다.
  8. 새로 고침을 클릭합니다.

1.8.2.2. 웹 콘솔을 사용하여 인프라 노드에서 실행되도록 개별 컨트롤 플레인 구성 요소 구성

Service Mesh Control Plane에서 배포한 개별 구성 요소가 인프라 노드에서 실행되는 경우 이 작업을 수행합니다. 이러한 배포된 구성 요소에는 Istiod, Ingress 게이트웨이, Egress 게이트웨이가 포함됩니다.

컨트롤 플레인이 작업자 노드에서 실행되면 이 작업을 건너뜁니다.

사전 요구 사항

  • Red Hat OpenShift Service Mesh Operator가 설치되어 있습니다.
  • cluster-admin 역할의 사용자로 로그인되어 있습니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 사용자로 로그인되어 있습니다.

절차

  1. OpenShift Container Platform 웹 콘솔에 로그인합니다.
  2. Operators 설치된 Operator로 이동합니다.
  3. Red Hat OpenShift Service Mesh Operator를 클릭한 다음 Istio Service Mesh Control Plane 을 클릭합니다.
  4. 컨트롤 플레인 리소스의 이름을 클릭합니다. 예를 들어 기본.
  5. YAML 을 클릭합니다.
  6. 다음 예와 같이 ServiceMeshControlPlane 리소스의 spec.runtime.components.pilot.pod 사양에 nodeSelectortolerations 필드를 추가합니다.

    spec:
      runtime:
        components:
          pilot:
            pod:
              nodeSelector: 1
                node-role.kubernetes.io/infra: ""
              tolerations: 2
              - effect: NoSchedule
                key: node-role.kubernetes.io/infra
                value: reserved
              - effect: NoExecute
                key: node-role.kubernetes.io/infra
                value: reserved
    1
    Istiod Pod가 인프라 노드에만 예약되도록 합니다.
    2
    실행을 위해 인프라 노드에서 Pod를 수락하는지 확인합니다.
  7. 다음 예와 같이 ServiceMeshControlPlane 리소스의 spec.gateways.ingress.runtime.podspec.gateways.egress.runtime.pod 사양에 nodeSelectortolerations 필드를 추가합니다.

    spec:
      gateways:
        ingress:
          runtime:
            pod:
              nodeSelector: 1
                node-role.kubernetes.io/infra: ""
              tolerations: 2
              - effect: NoSchedule
                key: node-role.kubernetes.io/infra
                value: reserved
              - effect: NoExecute
                key: node-role.kubernetes.io/infra
                value: reserved
        egress:
          runtime:
            pod:
              nodeSelector: 3
                node-role.kubernetes.io/infra: ""
              tolerations: 4
              - effect: NoSchedule
                key: node-role.kubernetes.io/infra
                value: reserved
              - effect: NoExecute
                key: node-role.kubernetes.io/infra
                value: reserved
    1 3
    게이트웨이 Pod가 인프라 노드에만 예약되도록 합니다.
    2 4
    실행을 위해 인프라 노드에서 Pod를 수락하는지 확인합니다.
  8. 저장을 클릭합니다.
  9. 새로 고침을 클릭합니다.

1.8.2.3. CLI를 사용하여 인프라 노드에서 실행되도록 모든 컨트롤 플레인 구성 요소 구성

Service Mesh Control Plane에서 배포한 모든 구성 요소가 인프라 노드에서 실행되는 경우 이 작업을 수행합니다. 이러한 배포된 구성 요소에는 Istiod, Ingress Gateway, Egress Gateway 및 Prometheus, Grafana 및 Distributed Tracing과 같은 선택적 애플리케이션이 포함됩니다.

컨트롤 플레인이 작업자 노드에서 실행되면 이 작업을 건너뜁니다.

사전 요구 사항

  • Red Hat OpenShift Service Mesh Operator가 설치되어 있습니다.
  • cluster-admin 역할의 사용자로 로그인되어 있습니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 사용자로 로그인되어 있습니다.

절차

  1. ServiceMeshControlPlane 리소스를 YAML 파일로 엽니다.

    $ oc -n istio-system edit smcp <name> 1
    1
    <name >은 ServiceMeshControlPlane 리소스의 이름을 나타냅니다.
  2. 인프라 노드에서 ServiceMeshControlPlane 에서 배포한 모든 Service Mesh 구성 요소를 실행하려면 ServiceMeshControlPlane 리소스의 spec.runtime.defaults.pod 사양에 nodeSelectortolerations 필드를 추가합니다.

    spec:
      runtime:
        defaults:
          pod:
            nodeSelector: 1
              node-role.kubernetes.io/infra: ""
            tolerations: 2
            - effect: NoSchedule
              key: node-role.kubernetes.io/infra
              value: reserved
            - effect: NoExecute
              key: node-role.kubernetes.io/infra
              value: reserved
    1
    SMCP Pod가 인프라 노드에만 예약되도록 합니다.
    2
    인프라 노드에서 Pod를 허용하도록 합니다.

1.8.2.4. CLI를 사용하여 인프라 노드에서 실행되도록 개별 컨트롤 플레인 구성 요소 구성

Service Mesh Control Plane에서 배포한 개별 구성 요소가 인프라 노드에서 실행되는 경우 이 작업을 수행합니다. 이러한 배포된 구성 요소에는 Istiod, Ingress 게이트웨이, Egress 게이트웨이가 포함됩니다.

컨트롤 플레인이 작업자 노드에서 실행되면 이 작업을 건너뜁니다.

사전 요구 사항

  • Red Hat OpenShift Service Mesh Operator가 설치되어 있습니다.
  • cluster-admin 역할의 사용자로 로그인되어 있습니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 사용자로 로그인되어 있습니다.

절차

  1. ServiceMeshControlPlane 리소스를 YAML 파일로 엽니다.

    $ oc -n istio-system edit smcp <name> 1
    1
    <name >은 ServiceMeshControlPlane 리소스의 이름을 나타냅니다.
  2. 인프라 노드에서 Istiod 구성 요소를 실행하려면 ServiceMeshControlPlane 리소스의 spec.runtime.components.pilot.pod 사양에 nodeSelectortolerations 필드를 추가합니다.

    spec:
      runtime:
        components:
          pilot:
            pod:
              nodeSelector: 1
                node-role.kubernetes.io/infra: ""
              tolerations: 2
              - effect: NoSchedule
                key: node-role.kubernetes.io/infra
                value: reserved
              - effect: NoExecute
                key: node-role.kubernetes.io/infra
                value: reserved
    1
    Istiod Pod가 인프라 노드에만 예약되도록 합니다.
    2
    인프라 노드에서 Pod를 허용하도록 합니다.
  3. 인프라 노드에서 Ingress 및 Egress Gateways를 실행하려면 ServiceMeshControlPlane 리소스의 spec.gateways.ingress.runtime.pod 사양과 spec.gateways.egress.runtime.pod 사양에 nodeSelectortolerations 필드를 추가합니다.

    spec:
      gateways:
        ingress:
          runtime:
            pod:
              nodeSelector: 1
                node-role.kubernetes.io/infra: ""
              tolerations: 2
              - effect: NoSchedule
                key: node-role.kubernetes.io/infra
                value: reserved
              - effect: NoExecute
                key: node-role.kubernetes.io/infra
                value: reserved
        egress:
          runtime:
            pod:
              nodeSelector: 3
                node-role.kubernetes.io/infra: ""
              tolerations: 4
              - effect: NoSchedule
                key: node-role.kubernetes.io/infra
                value: reserved
              - effect: NoExecute
                key: node-role.kubernetes.io/infra
                value: reserved
    1 3
    게이트웨이 Pod가 인프라 노드에만 예약되도록 합니다.
    2 4
    인프라 노드에서 Pod를 허용하도록 합니다.

1.8.2.5. 인프라 노드에서 Service Mesh Control Plane이 실행 중인지 확인

절차

  • Istiod, Ingress Gateway 및 Egress Gateway Pod와 연결된 노드가 인프라 노드인지 확인합니다.

    $ oc -n istio-system get pods -owide

1.8.3. 컨트롤 플레인 및 클러스터 전체 배포 정보

클러스터 전체 배포에는 전체 클러스터의 리소스를 모니터링하는 Service Mesh Control Plane이 포함되어 있습니다. 컨트롤 플레인이 모든 네임스페이스에서 단일 쿼리를 사용하여 Istio 및 Kubernetes 리소스를 모니터링한다는 점에서 전체 클러스터의 모니터링 리소스는 Istio 기능과 유사합니다. 결과적으로 클러스터 전체 배포는 API 서버로 전송되는 요청 수를 줄입니다.

OpenShift Container Platform 웹 콘솔 또는 CLI를 사용하여 클러스터 전체 배포에 대해 Service Mesh Control Plane을 구성할 수 있습니다.

1.8.3.1. 웹 콘솔을 사용하여 클러스터 전체 배포를 위한 컨트롤 플레인 구성

OpenShift Container Platform 웹 콘솔을 사용하여 클러스터 전체 배포에 대한 ServiceMeshControlPlane 리소스를 구성할 수 있습니다. 이 예제에서 istio-system 은 Service Mesh Control Plane 프로젝트의 이름입니다.

사전 요구 사항

  • Red Hat OpenShift Service Mesh Operator가 설치되어 있습니다.
  • cluster-admin 역할의 계정을 사용하거나 dedicated-admin 역할과 함께 Red Hat OpenShift Dedicated를 사용하는 경우 로그인되어 있습니다.

절차

  1. istio-system이라는 프로젝트를 생성합니다.

    1. 프로젝트로 이동합니다.
    2. 프로젝트 만들기를 클릭합니다.
    3. 이름 필드에 istio-system을 입력합니다. ServiceMeshControlPlane 리소스는 마이크로 서비스 및 Operator와 별도로 프로젝트에 설치해야 합니다.

      이러한 단계에서는 istio-system 을 예제로 사용합니다. 서비스가 포함된 프로젝트와 별도로 Service Mesh Control Plane을 모든 프로젝트에 배포할 수 있습니다.

    4. 생성을 클릭합니다.
  2. Operators 설치된 Operator로 이동합니다.
  3. Red Hat OpenShift Service Mesh Operator를 클릭한 다음 Istio Service Mesh Control Plane을 클릭합니다.
  4. Istio Service Mesh Control Plane 탭에서 ServiceMeshControlPlane 생성을 클릭합니다.
  5. YAML 보기를 클릭합니다. Service Mesh Control Plane의 버전에 따라 Operator 버전에 관계없이 사용 가능한 기능을 결정합니다.
  6. YAML 파일의 spec.mode 필드를 수정하여 ClusterWide 를 지정합니다.

    버전 2.4 istio-installation.yaml 예

    apiVersion: maistra.io/v2
    kind: ServiceMeshControlPlane
    metadata:
      name: basic
      namespace: istio-system
    spec:
      version: v2.4
      mode: ClusterWide

  7. 생성을 클릭합니다. Operator는 구성 매개변수를 기반으로 pods, 서비스 및 Service Mesh Control Plane 구성 요소를 생성합니다. 또한 기본 구성의 일부로 없는 경우 Operator는 ServiceMeshMemberRoll 을 생성합니다.
  8. 컨트롤 플레인이 올바르게 설치되었는지 확인하려면 Istio Service Mesh Control Plane 탭을 클릭합니다.

    1. ServiceMeshControlPlane 오브젝트의 이름을 클릭합니다.
    2. 리소스 탭을 클릭하여 Operator가 생성 및 구성한 Red Hat OpenShift Service Mesh Control Plane 리소스를 확인합니다.

이 모듈은 다음 assembly에 포함되어 있습니다. * service_mesh/v2x/ossm-create-smcp.adoc :_mod-docs-content-type: PROCEDURE

1.8.3.2. CLI를 사용하여 클러스터 전체 배포를 위한 컨트롤 플레인 구성

CLI를 사용하여 클러스터 전체 배포에 대한 ServiceMeshControlPlane 리소스를 구성할 수 있습니다. 이 예에서 istio-system 은 Service Mesh Control Plane 네임스페이스의 이름입니다.

사전 요구 사항

  • Red Hat OpenShift Service Mesh Operator가 설치되어 있습니다.
  • OpenShift CLI(oc)에 액세스할 수 있습니다.

절차

  1. cluster-admin 역할의 사용자로 OpenShift Container Platform CLI에 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 계정이 있어야 합니다.

    $ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
  2. istio-system이라는 프로젝트를 생성합니다.

    $ oc new-project istio-system
  3. 다음 예제를 사용하여 istio-installation.yaml이라는 ServiceMeshControlPlane 파일을 생성합니다.

    버전 2.4 istio-installation.yaml 예

    apiVersion: maistra.io/v2
    kind: ServiceMeshControlPlane
    metadata:
      name: basic
      namespace: istio-system
    spec:
      version: v2.4
      mode: ClusterWide

  4. 다음 명령을 실행하여 서비스 메시 컨트롤 플레인을 배포합니다. 여기서 < istio_installation.yaml >에는 파일에 대한 전체 경로가 포함됩니다.

    $ oc create -n istio-system -f <istio_installation.yaml>
  5. Pod 배포의 진행 상황을 모니터링하려면 다음 명령을 실행합니다.

    $ oc get pods -n istio-system -w

    다음 예와 유사한 출력이 표시됩니다.

    출력 예

    NAME                                   READY   STATUS    RESTARTS   AGE
    grafana-b4d59bd7-mrgbr                 2/2     Running   0          65m
    istio-egressgateway-678dc97b4c-wrjkp   1/1     Running   0          108s
    istio-ingressgateway-b45c9d54d-4qg6n   1/1     Running   0          108s
    istiod-basic-55d78bbbcd-j5556          1/1     Running   0          108s
    jaeger-67c75bd6dc-jv6k6                2/2     Running   0          65m
    kiali-6476c7656c-x5msp                 1/1     Running   0          43m
    prometheus-58954b8d6b-m5std            2/2     Running   0          66m

이 모듈은 다음 assembly에 포함되어 있습니다. * service_mesh/v2x/ossm-create-smcp.adoc

1.8.3.3. 클러스터 전체 메시의 멤버 롤 사용자 정의

클러스터 전체 모드에서는 ServiceMeshControlPlane 리소스를 생성할 때 ServiceMeshMemberRoll 리소스도 생성됩니다. ServiceMeshMemberRoll 리소스를 생성한 후 수정할 수 있습니다. 리소스를 수정한 후 Service Mesh Operator에서 더 이상 변경하지 않습니다. OpenShift Container Platform 웹 콘솔을 사용하여 ServiceMeshMemberRoll 리소스를 수정하는 경우 수정을 덮어쓰도록 프롬프트를 수락합니다.

또는 ServiceMeshControlPlane 리소스를 배포하기 전에 ServiceMeshMemberRoll 리소스를 생성할 수 있습니다. ServiceMeshControlPlane 리소스를 생성할 때 Service Mesh Operator는 ServiceMeshMemberRoll 을 수정하지 않습니다.

참고

ServiceMeshMemberRoll 리소스 이름은 default 로 지정해야 하며 ServiceMeshControlPlane 리소스와 동일한 프로젝트 네임스페이스에서 생성해야 합니다.

메시에 네임스페이스를 추가하는 방법은 다음 두 가지가 있습니다. spec.members 목록에 해당 이름을 지정하여 네임스페이스를 추가하거나 레이블을 기반으로 네임스페이스를 포함하거나 제외하도록 네임스페이스를 구성할 수 있습니다.

참고

ServiceMeshMemberRoll 리소스에 멤버를 지정하는 방법에 관계없이 각 네임스페이스에서 ServiceMeshMember 리소스를 생성하여 메시에 멤버를 추가할 수도 있습니다.

1.8.4. Kiali를 사용하여 SMCP 설치 검증

Kiali 콘솔을 사용하여 서비스 메시 설치를 검증할 수 있습니다. Kiali 콘솔은 서비스 메시 구성 요소가 올바르게 배포 및 구성되는 여러 가지 방법을 제공합니다.

절차

  1. OpenShift Container Platform 웹 콘솔에 cluster-admin 권한이 있는 사용자로 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우 dedicated-admin 역할의 계정이 있어야 합니다.
  2. 네트워킹 경로로 이동합니다.
  3. 경로 페이지의 네임스페이스 메뉴에서 Service Mesh Control Plane 프로젝트(예: istio-system )를 선택합니다.

    위치 열은 각 경로에 대한 연결된 주소를 표시합니다.

  4. 필요한 경우 필터를 사용하여 Kiali 콘솔의 경로를 찾습니다. 경로 위치를 클릭하여 콘솔을 시작합니다.
  5. OpenShift로 로그인 을 클릭합니다.

    Kiali 콘솔에 처음 로그인하면 볼 수 있는 권한이 있는 서비스 메시에 모든 네임스페이스가 표시되는 개요 페이지가 표시됩니다. 개요 페이지에 여러 네임스페이스가 표시되면 Kiali에서 상태 또는 검증 문제가 있는 네임스페이스를 먼저 표시합니다.

    그림 1.1. Kiali 개요 페이지

    istio-system을 표시하는 Kiali 개요 페이지

    각 네임스페이스의 타일은 레이블 수, Istio Config 상태, 애플리케이션 상태 수, 네임스페이스의 트래픽 수 를 표시합니다. 콘솔 설치의 유효성을 검사하고 네임스페이스가 메시에 아직 추가되지 않은 경우 istio-system 이외의 데이터가 표시되지 않을 수 있습니다.

  6. Kiali에는 특히 Service Mesh Control Plane이 설치된 네임스페이스에 대한 4개의 대시보드가 있습니다. 이러한 대시보드를 보려면 컨트롤 플레인 네임스페이스의 타일에서 옵션 메뉴 kebab 를 클릭하고(예: istio-system ) 다음 옵션 중 하나를 선택합니다.

    • Istio 메시 대시보드
    • Istio 컨트롤 플레인 대시보드
    • Istio 성능 대시보드
    • Istio wsm Exetension 대시보드

      그림 1.2. Grafana Istio 컨트롤 플레인 대시보드

      info 샘플 프로젝트에 대한 데이터를 표시하는 Istio Control Plane Dashboard

      Kiali는 Grafana 페이지에서 사용할 수 있는 두 개의 추가 Grafana 대시보드도 설치합니다.

    • Istio 워크로드 대시보드
    • Istio 서비스 대시보드
  7. Service Mesh Control Plane 노드를 보려면 그래프 페이지를 클릭하고 메뉴에서 ServiceMeshControlPlane 을 설치한 네임스페이스 (예: istio-system )를 선택합니다.

    1. 필요한 경우 Display idle nodes 를 클릭합니다.
    2. Graph 페이지에 대한 자세한 내용을 보려면 그래프 둘러보기 링크를 클릭합니다.
    3. 메시 토폴로지를 보려면 네임스페이스 메뉴에서 서비스 메시 멤버 롤에서 하나 이상의 추가 네임스페이스를 선택합니다.
  8. istio-system 네임스페이스에서 애플리케이션 목록을 보려면 애플리케이션 페이지를 클릭합니다. Kiali는 애플리케이션의 상태를 표시합니다.

    1. 정보 아이콘 위에 마우스를 가져가면 Details 열에 언급된 추가 정보를 볼 수 있습니다.
  9. istio-system 네임스페이스에서 워크로드 목록을 보려면 워크로드 페이지를 클릭합니다. Kiali는 워크로드의 상태를 표시합니다.

    1. 정보 아이콘 위에 마우스를 가져가면 Details 열에 언급된 추가 정보를 볼 수 있습니다.
  10. istio-system 네임스페이스에서 서비스 목록을 보려면 서비스 페이지를 클릭합니다. Kiali는 서비스 및 구성의 상태를 표시합니다.

    1. 정보 아이콘 위에 마우스를 가져가면 Details 열에 언급된 추가 정보를 볼 수 있습니다.
  11. istio-system 네임스페이스에서 Istio Configuration 오브젝트 목록을 보려면 Istio Config 페이지를 클릭합니다. Kiali는 구성 상태를 표시합니다.

    1. 구성 오류가 있는 경우 행을 클릭하고 Kiali를 클릭하면 오류가 강조 표시된 상태에서 구성 파일을 엽니다.

1.8.5. Red Hat OpenShift Service on AWS(ROSA)에 설치

버전 2.2부터 Red Hat OpenShift Service Mesh는 AWS(ROSA)의 Red Hat OpenShift Service에 설치를 지원합니다. 이 섹션에서는 이 플랫폼에 서비스 메시를 설치할 때 추가 요구 사항을 설명합니다.

1.8.5.1. 설치 위치

Red Hat OpenShift Service Mesh를 설치하고 ServiceMeshControlPlane 을 생성할 때 새 네임스페이스(예: istio-system )를 생성해야 합니다.

1.8.5.2. 필수 Service Mesh Control Plane 구성

ServiceMeshControlPlane 파일의 기본 구성은 ROSA 클러스터에서 작동하지 않습니다. AWS의 Red Hat OpenShift Service에 설치할 때 기본 SMCP를 수정하고 spec.security.identity.type=Thirdparty 를 설정해야 합니다.

ROSA의 ServiceMeshControlPlane 리소스 예

apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
  namespace: istio-system
spec:
  version: v2.4
  security:
    identity:
      type: ThirdParty  #required setting for ROSA
  tracing:
    type: Jaeger
    sampling: 10000
  policy:
    type: Istiod
  addons:
    grafana:
      enabled: true
    jaeger:
      install:
        storage:
          type: Memory
    kiali:
      enabled: true
    prometheus:
      enabled: true
  telemetry:
    type: Istiod

1.8.5.3. Kiali 구성에 제한 사항

AWS의 Red Hat OpenShift Service에는 리소스를 생성할 수 있는 추가 제한이 있으며 Red Hat 관리 네임스페이스에 Kiali 리소스를 생성할 수 없습니다.

즉, ROSA 클러스터에서 spec.deployment.accessible_namespaces 에 대한 다음과 같은 공통 설정을 허용하지 않습니다.

  • ['**'] (모든 네임스페이스)
  • default
  • codeready-*
  • openshift-*
  • redhat-*

검증 오류 메시지는 모든 제한된 네임스페이스의 전체 목록을 제공합니다.

ROSA의 Kiali 리소스 예

apiVersion: kiali.io/v1alpha1
kind: Kiali
metadata:
  name: kiali
  namespace: istio-system
spec:
  auth:
    strategy: openshift
  deployment:
    accessible_namespaces:   #restricted setting for ROSA
      - istio-system
    image_pull_policy: ''
    ingress_enabled: true
    namespace: istio-system

1.8.6. 추가 리소스

Red Hat OpenShift Service Mesh는 클러스터 내에서 여러 개의 독립적인 컨트롤 플레인을 지원합니다. ServiceMeshControlPlane 프로필을 사용하여 재사용 가능한 구성을 생성할 수 있습니다. 자세한 내용은 컨트롤 플레인 프로필 생성을 참조하십시오.

1.8.7. 다음 단계

  • 애플리케이션을 사용할 수 있도록 서비스 메시에 프로젝트를 추가합니다. 자세한 내용은 서비스 메시에 서비스 추가를 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.