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
역할이 있는 계정.
절차
-
cluster-admin
역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우dedicated-admin
역할의 계정이 있어야 합니다. istio-system
이라는 프로젝트를 생성합니다.-
홈
프로젝트로 이동합니다. - 프로젝트 만들기를 클릭합니다.
이름 필드에
istio-system
을 입력합니다.ServiceMeshControlPlane
리소스는 마이크로 서비스 및 Operator와 별도로 프로젝트에 설치해야 합니다.이 단계에서는
istio-system
을 예로 사용하지만 서비스가 포함된 프로젝트와 별도로 모든 프로젝트에 Service Mesh Control Plane을 배포할 수 있습니다.- 생성을 클릭합니다.
-
홈
-
Operators
설치된 Operator로 이동합니다. - Red Hat OpenShift Service Mesh Operator를 클릭한 다음 Istio Service Mesh Control Plane을 클릭합니다.
- Istio Service Mesh Control Plane 탭에서 ServiceMeshControlPlane 생성을 클릭합니다.
ServiceMeshControlPlane 생성 페이지에서 기본 Service Mesh Control Plane 버전을 수락하여 제품의 최신 버전에서 사용할 수 있는 기능을 활용합니다. 컨트롤 플레인의 버전에 따라 Operator 버전에 관계없이 사용 가능한 기능을 결정합니다.
-
생성을 클릭합니다. Operator는 구성 매개변수를 기반으로 pods, 서비스 및 Service Mesh Control Plane 구성 요소를 생성합니다. 나중에
ServiceMeshControlPlane
설정을 구성할 수 있습니다.
-
생성을 클릭합니다. Operator는 구성 매개변수를 기반으로 pods, 서비스 및 Service Mesh Control Plane 구성 요소를 생성합니다. 나중에
컨트롤 플레인이 올바르게 설치되었는지 확인하려면 Istio Service Mesh Control Plane 탭을 클릭합니다.
- 새 컨트롤 플레인의 이름을 클릭합니다.
- 리소스 탭을 클릭하여 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
)에 액세스합니다.
절차
cluster-admin
역할의 사용자로 OpenShift Container Platform CLI에 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우dedicated-admin
역할의 계정이 있어야 합니다.$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
istio-system
이라는 프로젝트를 생성합니다.$ oc new-project istio-system
다음 예제를 사용하여
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
다음 명령을 실행하여 서비스 메시 컨트롤 플레인을 배포합니다. 여기서 <
istio_installation.yaml
>에는 파일에 대한 전체 경로가 포함됩니다.$ oc create -n istio-system -f <istio_installation.yaml>
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
생성을 검증할 수 있습니다.
절차
cluster-admin
역할의 사용자로 OpenShift Container Platform CLI에 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우dedicated-admin
역할의 계정이 있어야 합니다.$ oc login https://<HOSTNAME>:6443
다음 명령을 실행하여 서비스 메시 컨트롤 플레인 설치를 확인합니다. 여기서
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
역할의 사용자로 로그인되어 있습니다.
절차
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
-
Operators
설치된 Operator로 이동합니다. - Red Hat OpenShift Service Mesh Operator를 클릭한 다음 Istio Service Mesh Control Plane 을 클릭합니다.
-
컨트롤 플레인 리소스의 이름을 클릭합니다. 예를 들어
기본
. - YAML 을 클릭합니다.
다음 예와 같이
ServiceMeshControlPlane
리소스의spec.runtime.defaults.pod
사양에nodeSelector
및tolerations
필드를 추가합니다.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.8.2.2. 웹 콘솔을 사용하여 인프라 노드에서 실행되도록 개별 컨트롤 플레인 구성 요소 구성
Service Mesh Control Plane에서 배포한 개별 구성 요소가 인프라 노드에서 실행되는 경우 이 작업을 수행합니다. 이러한 배포된 구성 요소에는 Istiod, Ingress 게이트웨이, Egress 게이트웨이가 포함됩니다.
컨트롤 플레인이 작업자 노드에서 실행되면 이 작업을 건너뜁니다.
사전 요구 사항
- Red Hat OpenShift Service Mesh Operator가 설치되어 있습니다.
-
cluster-admin
역할의 사용자로 로그인되어 있습니다. Red Hat OpenShift Dedicated를 사용하는 경우dedicated-admin
역할의 사용자로 로그인되어 있습니다.
절차
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
-
Operators
설치된 Operator로 이동합니다. - Red Hat OpenShift Service Mesh Operator를 클릭한 다음 Istio Service Mesh Control Plane 을 클릭합니다.
-
컨트롤 플레인 리소스의 이름을 클릭합니다. 예를 들어
기본
. - YAML 을 클릭합니다.
다음 예와 같이
ServiceMeshControlPlane
리소스의spec.runtime.components.pilot.pod
사양에nodeSelector
및tolerations
필드를 추가합니다.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
다음 예와 같이
ServiceMeshControlPlane
리소스의spec.gateways.ingress.runtime.pod
및spec.gateways.egress.runtime.pod
사양에nodeSelector
및tolerations
필드를 추가합니다.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.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
역할의 사용자로 로그인되어 있습니다.
절차
ServiceMeshControlPlane
리소스를 YAML 파일로 엽니다.$ oc -n istio-system edit smcp <name> 1
- 1
<name
>은ServiceMeshControlPlane
리소스의 이름을 나타냅니다.
인프라 노드에서
ServiceMeshControlPlane
에서 배포한 모든 Service Mesh 구성 요소를 실행하려면ServiceMeshControlPlane
리소스의spec.runtime.defaults.pod
사양에nodeSelector
및tolerations
필드를 추가합니다.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.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
역할의 사용자로 로그인되어 있습니다.
절차
ServiceMeshControlPlane
리소스를 YAML 파일로 엽니다.$ oc -n istio-system edit smcp <name> 1
- 1
<name
>은ServiceMeshControlPlane
리소스의 이름을 나타냅니다.
인프라 노드에서 Istiod 구성 요소를 실행하려면
ServiceMeshControlPlane
리소스의spec.runtime.components.pilot.pod
사양에nodeSelector
및tolerations
필드를 추가합니다.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
인프라 노드에서 Ingress 및 Egress Gateways를 실행하려면
ServiceMeshControlPlane
리소스의spec.gateways.ingress.runtime.pod
사양과spec.gateways.egress.runtime.pod
사양에nodeSelector
및tolerations
필드를 추가합니다.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.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를 사용하는 경우 로그인되어 있습니다.
절차
istio-system
이라는 프로젝트를 생성합니다.-
홈
프로젝트로 이동합니다. - 프로젝트 만들기를 클릭합니다.
이름 필드에
istio-system
을 입력합니다.ServiceMeshControlPlane
리소스는 마이크로 서비스 및 Operator와 별도로 프로젝트에 설치해야 합니다.이러한 단계에서는
istio-system
을 예제로 사용합니다. 서비스가 포함된 프로젝트와 별도로 Service Mesh Control Plane을 모든 프로젝트에 배포할 수 있습니다.- 생성을 클릭합니다.
-
홈
-
Operators
설치된 Operator로 이동합니다. - Red Hat OpenShift Service Mesh Operator를 클릭한 다음 Istio Service Mesh Control Plane을 클릭합니다.
- Istio Service Mesh Control Plane 탭에서 ServiceMeshControlPlane 생성을 클릭합니다.
- YAML 보기를 클릭합니다. Service Mesh Control Plane의 버전에 따라 Operator 버전에 관계없이 사용 가능한 기능을 결정합니다.
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
-
생성을 클릭합니다. Operator는 구성 매개변수를 기반으로 pods, 서비스 및 Service Mesh Control Plane 구성 요소를 생성합니다. 또한 기본 구성의 일부로 없는 경우 Operator는
ServiceMeshMemberRoll
을 생성합니다. 컨트롤 플레인이 올바르게 설치되었는지 확인하려면 Istio Service Mesh Control Plane 탭을 클릭합니다.
-
새
ServiceMeshControlPlane
오브젝트의 이름을 클릭합니다. - 리소스 탭을 클릭하여 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
)에 액세스할 수 있습니다.
절차
cluster-admin
역할의 사용자로 OpenShift Container Platform CLI에 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우dedicated-admin
역할의 계정이 있어야 합니다.$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
istio-system
이라는 프로젝트를 생성합니다.$ oc new-project istio-system
다음 예제를 사용하여
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
다음 명령을 실행하여 서비스 메시 컨트롤 플레인을 배포합니다. 여기서 <
istio_installation.yaml
>에는 파일에 대한 전체 경로가 포함됩니다.$ oc create -n istio-system -f <istio_installation.yaml>
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 콘솔은 서비스 메시 구성 요소가 올바르게 배포 및 구성되는 여러 가지 방법을 제공합니다.
절차
-
OpenShift Container Platform 웹 콘솔에 cluster-admin 권한이 있는 사용자로 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우
dedicated-admin
역할의 계정이 있어야 합니다. -
네트워킹
경로로 이동합니다. 경로 페이지의 네임스페이스 메뉴에서 Service Mesh Control Plane 프로젝트(예:
istio-system
)를 선택합니다.위치 열은 각 경로에 대한 연결된 주소를 표시합니다.
- 필요한 경우 필터를 사용하여 Kiali 콘솔의 경로를 찾습니다. 경로 위치를 클릭하여 콘솔을 시작합니다.
OpenShift로 로그인 을 클릭합니다.
Kiali 콘솔에 처음 로그인하면 볼 수 있는 권한이 있는 서비스 메시에 모든 네임스페이스가 표시되는 개요 페이지가 표시됩니다. 개요 페이지에 여러 네임스페이스가 표시되면 Kiali에서 상태 또는 검증 문제가 있는 네임스페이스를 먼저 표시합니다.
그림 1.1. Kiali 개요 페이지
각 네임스페이스의 타일은 레이블 수, Istio Config 상태, 애플리케이션 상태 수, 네임스페이스의 트래픽 수 를 표시합니다. 콘솔 설치의 유효성을 검사하고 네임스페이스가 메시에 아직 추가되지 않은 경우
istio-system
이외의 데이터가 표시되지 않을 수 있습니다.Kiali에는 특히 Service Mesh Control Plane이 설치된 네임스페이스에 대한 4개의 대시보드가 있습니다. 이러한 대시보드를 보려면 컨트롤 플레인 네임스페이스의 타일에서 옵션 메뉴 를 클릭하고(예:
istio-system
) 다음 옵션 중 하나를 선택합니다.- Istio 메시 대시보드
- Istio 컨트롤 플레인 대시보드
- Istio 성능 대시보드
Istio wsm Exetension 대시보드
그림 1.2. Grafana Istio 컨트롤 플레인 대시보드
Kiali는 Grafana 홈 페이지에서 사용할 수 있는 두 개의 추가 Grafana 대시보드도 설치합니다.
- Istio 워크로드 대시보드
- Istio 서비스 대시보드
Service Mesh Control Plane 노드를 보려면 그래프 페이지를 클릭하고 메뉴에서
ServiceMeshControlPlane
을 설치한 네임스페이스 (예:istio-system
)를 선택합니다.- 필요한 경우 Display idle nodes 를 클릭합니다.
- Graph 페이지에 대한 자세한 내용을 보려면 그래프 둘러보기 링크를 클릭합니다.
- 메시 토폴로지를 보려면 네임스페이스 메뉴에서 서비스 메시 멤버 롤에서 하나 이상의 추가 네임스페이스를 선택합니다.
istio-system
네임스페이스에서 애플리케이션 목록을 보려면 애플리케이션 페이지를 클릭합니다. Kiali는 애플리케이션의 상태를 표시합니다.- 정보 아이콘 위에 마우스를 가져가면 Details 열에 언급된 추가 정보를 볼 수 있습니다.
istio-system
네임스페이스에서 워크로드 목록을 보려면 워크로드 페이지를 클릭합니다. Kiali는 워크로드의 상태를 표시합니다.- 정보 아이콘 위에 마우스를 가져가면 Details 열에 언급된 추가 정보를 볼 수 있습니다.
istio-system
네임스페이스에서 서비스 목록을 보려면 서비스 페이지를 클릭합니다. Kiali는 서비스 및 구성의 상태를 표시합니다.- 정보 아이콘 위에 마우스를 가져가면 Details 열에 언급된 추가 정보를 볼 수 있습니다.
istio-system
네임스페이스에서 Istio Configuration 오브젝트 목록을 보려면 Istio Config 페이지를 클릭합니다. Kiali는 구성 상태를 표시합니다.- 구성 오류가 있는 경우 행을 클릭하고 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. 다음 단계
- 애플리케이션을 사용할 수 있도록 서비스 메시에 프로젝트를 추가합니다. 자세한 내용은 서비스 메시에 서비스 추가를 참조하십시오.