1.22.3. 컨트롤 플레인 문제 해결
서비스 메시 컨트롤 플레인 은 이전 여러 컨트롤 플레인 구성 요소(Citadel, Galley, Pilot)를 단일 바이너리로 통합하는 Istiod로 구성됩니다. ServiceMeshControlPlane
을 배포하면 아키텍처 항목에 설명된 대로 Red Hat OpenShift Service Mesh를 구성하는 다른 구성 요소도 생성됩니다.
1.22.3.1. Service Mesh Control Plane 설치 검증
Service Mesh Control Plane을 생성할 때 Service Mesh Operator는 ServiceMeshControlPlane
리소스 파일에 지정한 매개변수를 사용하여 다음을 수행합니다.
Istio 구성 요소를 생성하고 다음 Pod를 배포합니다.
-
istiod
-
istio-ingressgateway
-
istio-egressgateway
-
grafana
-
prometheus
-
wasm-cacher
-
Kiali Operator를 호출하여 SMCP 또는 Kiali 사용자 정의 리소스의 구성에 따라 Kaili 배포를 생성합니다.
참고Service Mesh Operator가 아닌 Kiali Operator에서 Kiali 구성 요소를 확인합니다.
Red Hat OpenShift distributed tracing platform Operator를 호출하여 SMCP 또는 Jaeger 사용자 정의 리소스의 구성을 기반으로 분산 추적 플랫폼 구성 요소를 생성합니다.
참고Service Mesh Operator가 아닌 Red Hat OpenShift distributed tracing platform Operator 및 Elasticsearch 구성 요소 아래에 있는 Jaeger 구성 요소를 확인합니다.
OpenShift Container Platform 콘솔의 경우
OpenShift Container Platform 웹 콘솔에서 Service Mesh Control Plane 설치를 확인할 수 있습니다.
-
Operators
설치된 Operator로 이동합니다. -
<istio-system>
네임스페이스를 선택합니다. Red Hat OpenShift Service Mesh Operator를 선택합니다.
- Istio Service Mesh Control Plane 탭을 클릭합니다.
-
컨트롤 플레인의 이름을 클릭합니다(예:
basic
). -
배포에서 생성한 리소스를 보려면 Resources (리소스) 탭을 클릭합니다. 예를 들어 필터를 사용하여 보기 범위를 좁힐 수 있습니다. 예를 들어 모든 Pod 의 상태가
running
인지 확인할 수 있습니다. -
SMCP 상태가 문제가 표시되면 YAML 파일의
status:
출력에서 자세한 내용을 확인합니다. -
Operator
설치된 Operator 로 다시 이동합니다.
OpenShift Elasticsearch Operator를 선택합니다.
- Elasticsearch 탭을 클릭합니다.
-
배포 이름을 클릭합니다(예:
elasticsearch
). - 배포에서 생성된 리소스를 보려면 리소스 탭을 클릭합니다. .
-
Status
(상태) 열에 문제가 있는 경우 자세한 내용은 YAML 탭에서status:
출력을 확인합니다. -
Operator
설치된 Operator 로 다시 이동합니다.
Red Hat OpenShift distributed tracing platform Operator를 선택합니다.
- Jaeger 탭을 클릭합니다.
-
배포 이름을 클릭합니다(예:
jaeger
). - 배포에서 생성한 리소스를 보려면 Resources (리소스) 탭을 클릭합니다.
-
Status
열이 문제를 나타내는 경우 자세한 내용은 YAML 탭에서status:
출력을 확인합니다. -
Operators
설치된 Operator로 이동합니다.
Kiali Operator를 선택합니다.
- Istio Service Mesh Control Plane 탭을 클릭합니다.
-
배포 이름을 클릭합니다(예:
kiali
). - 배포에서 생성한 리소스를 보려면 Resources (리소스) 탭을 클릭합니다.
-
Status
(상태) 열에 문제가 있는 경우 자세한 내용은 YAML 탭에서status:
출력을 확인합니다.
-
Operators
명령행에서
다음 명령을 실행하여 Service Mesh Control Plane Pod가 사용 가능하고 실행 중인지 확인합니다. 여기서
istio-system
은 SMCP를 설치한 네임스페이스입니다.$ oc get pods -n istio-system
출력 예
NAME READY STATUS RESTARTS AGE grafana-6776785cfc-6fz7t 2/2 Running 0 102s istio-egressgateway-5f49dd99-l9ppq 1/1 Running 0 103s istio-ingressgateway-6dc885c48-jjd8r 1/1 Running 0 103s istiod-basic-6c9cc55998-wg4zq 1/1 Running 0 2m14s jaeger-6865d5d8bf-zrfss 2/2 Running 0 100s kiali-579799fbb7-8mwc8 1/1 Running 0 46s prometheus-5c579dfb-6qhjk 2/2 Running 0 115s wasm-cacher-basic-5b99bfcddb-m775l 1/1 Running 0 86s
다음 명령을 사용하여 Service Mesh Control Plane 배포의 상태를 확인합니다.
istio-system
을 SMCP를 배포한 네임스페이스로 교체합니다.$ oc get smcp -n <istio-system>
STATUS 열이
ComponentsReady
인 경우 설치가 성공적으로 완료되었습니다.출력 예
NAME READY STATUS PROFILES VERSION AGE basic 10/10 ComponentsReady ["default"] 2.1.3 4m2s
Service Mesh Control Plane을 수정하고 재배포한 경우 상태가
UpdateSuccessful
여야 합니다.출력 예
NAME READY STATUS TEMPLATE VERSION AGE basic-install 10/10 UpdateSuccessful default v1.1 3d16h
SMCP 상태가
ComponentsReady
이외의 항목을 나타내는 경우 자세한 내용은 SCMP 리소스의status:
output을 확인하십시오.$ oc describe smcp <smcp-name> -n <controlplane-namespace>
출력 예
$ oc describe smcp basic -n istio-system
다음 명령을 사용하여 Jaeger 배포의 상태를 확인합니다. 여기서
istio-system
은 SMCP를 배포한 네임스페이스입니다.$ oc get jaeger -n <istio-system>
출력 예
NAME STATUS VERSION STRATEGY STORAGE AGE jaeger Running 1.30.0 allinone memory 15m
다음 명령을 사용하여 Kiali 배포의 상태를 확인합니다. 여기서
istio-system
은 SMCP를 배포한 네임스페이스입니다.$ oc get kiali -n <istio-system>
출력 예
NAME AGE kiali 15m
1.22.3.1.1. Kiali 콘솔에 액세스
Kiali 콘솔에서 애플리케이션의 토폴로지, 상태 및 지표를 볼 수 있습니다. 서비스에 문제가 발생하면 Kiali 콘솔을 사용하여 서비스를 통해 데이터 흐름을 볼 수 있습니다. 추상 애플리케이션, 서비스 및 워크로드를 포함하여 다양한 수준에서 메시 구성 요소에 대한 인사이트를 볼 수 있습니다. Kiali는 네임스페이스에 대한 대화형 그래프 보기도 실시간으로 제공합니다.
Kiali 콘솔에 액세스하려면 Red Hat OpenShift Service Mesh가 설치되어 있어야 Kiali가 설치 및 구성되어 있어야 합니다.
설치 프로세스는 Kiali 콘솔에 액세스할 수 있는 경로를 생성합니다.
Kiali 콘솔의 URL을 알고 있는 경우 직접 액세스할 수 있습니다. URL을 모르는 경우 다음 지침을 사용합니다.
관리자 절차
- 관리자 역할을 사용하여 OpenShift Container Platform 웹 콘솔에 로그인합니다.
-
홈
프로젝트를 클릭합니다. - 필요한 경우 Projects(프로젝트) 페이지에서 필터를 사용하여 프로젝트 이름을 찾습니다.
-
프로젝트 이름(예:
bookinfo
)을 클릭합니다. - Project Details(프로젝트 세부 정보 ) 페이지의 Launcher (시작기) 섹션에서 Kiali 링크를 클릭합니다.
OpenShift Container Platform 콘솔에 액세스하는 데 사용하는 것과 동일한 사용자 이름 및 암호를 사용하여 Kiali 콘솔에 로그인합니다.
Kiali 콘솔에 처음 로그인하면 볼 권한이 있는 서비스 메시의 모든 네임스페이스를 표시하는 개요 페이지가 표시됩니다.
콘솔 설치를 검증하고 네임스페이스가 메시에 아직 추가되지 않은 경우
istio-system
이외의 데이터가 표시되지 않을 수 있습니다.
개발자 절차
- 개발자 역할을 사용하여 OpenShift Container Platform 웹 콘솔에 로그인합니다.
- Project(프로젝트 )를 클릭합니다.
- 필요한 경우 Project Details(프로젝트 세부 정보) 페이지에서 필터를 사용하여 프로젝트 이름을 찾습니다.
-
프로젝트 이름(예:
bookinfo
)을 클릭합니다. - 프로젝트 페이지의 Launcher (시작기) 섹션에서 Kiali 링크를 클릭합니다.
- OpenShift로 로그인을 클릭합니다.
1.22.3.1.2. Jaeger 콘솔에 액세스
Jaeger 콘솔에 액세스하려면 Red Hat OpenShift Service Mesh가 설치되어 있어야 하는 Red Hat OpenShift distributed tracing 플랫폼이 설치 및 구성되어 있어야 합니다.
설치 프로세스는 Jaeger 콘솔에 액세스하기 위한 경로를 생성합니다.
Jaeger 콘솔의 URL을 알고 있으면 직접 액세스할 수 있습니다. URL을 모르는 경우 다음 지침을 사용합니다.
OpenShift 콘솔의 프로세스
-
OpenShift Container Platform 웹 콘솔에 cluster-admin 권한이 있는 사용자로 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우
dedicated-admin
역할의 계정이 있어야 합니다. -
네트워킹
경로로 이동합니다. 경로 페이지의 네임스페이스 메뉴에서 Service Mesh Control Plane 프로젝트(예:
istio-system
)를 선택합니다.Location (위치) 열에는 각 경로의 연결된 주소가 표시됩니다.
-
필요한 경우 필터를 사용하여
jaeger
경로를 찾습니다. 경로 Location (위치)을 클릭하여 콘솔을 시작합니다. - OpenShift로 로그인을 클릭합니다.
Kiali 콘솔의 프로세스
- Kiali 콘솔을 시작합니다.
- 왼쪽 네비게이션 창에서 Distributed Tracing (분산 추적)을 클릭합니다.
- OpenShift로 로그인을 클릭합니다.
CLI의 프로세스
cluster-admin
역할의 사용자로 OpenShift Container Platform CLI에 로그인합니다. Red Hat OpenShift Dedicated를 사용하는 경우dedicated-admin
역할의 계정이 있어야 합니다.$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
명령줄을 사용하여 경로의 세부 정보를 쿼리하려면 다음 명령을 입력합니다. 이 예제에서
istio-system
은 Service Mesh Control Plane 네임스페이스입니다.$ export JAEGER_URL=$(oc get route -n istio-system jaeger -o jsonpath='{.spec.host}')
-
브라우저를 시작하고
https://<JAEGER_URL>
으로 이동합니다. 여기서<JAEGER_URL>
은 이전 단계에서 검색한 경로입니다. - OpenShift Container Platform 콘솔에 액세스하는 데 사용하는 것과 동일한 사용자 이름 및 암호를 사용하여 로그인합니다.
서비스 메시에 서비스를 추가하고 추적을 생성한 경우 필터와 추적 찾기 버튼을 사용하여 추적 데이터를 검색할 수 있습니다.
콘솔 설치를 검증하는 경우 표시할 추적 데이터가 없습니다.