6.5. 다중 클러스터 메시에 Kiali 설치
두 OpenShift Container Platform 클러스터의 다중 클러스터 메시 구성에 Kiali를 설치합니다.
이 절차에서 CLUSTER1
은 동부 클러스터이며 CLUSTER2
는 서부 클러스터입니다.
두 개 이상의 클러스터에 걸쳐 메시에 대해 이러한 지침을 조정할 수 있습니다.
사전 요구 사항
- 각 클러스터에 최신 Kiali Operator가 설치되어 있습니다.
- Istio는 각 클러스터의 다중 클러스터 구성에 설치됩니다.
-
이러한 지침을 실행하는 데 사용할 수 있는 랩탑에
istioctl
이 설치되어 있습니다. -
cluster-admin
역할의 사용자로 OpenShift Container Platform 웹 콘솔에 로그인되어 있습니다. - Kiali가 모든 클러스터에서 메트릭을 쿼리할 수 있도록 메트릭 저장소를 구성했습니다. Kiali는 각 끝점에서 메트릭 및 추적을 쿼리합니다.
프로세스
동 클러스터에 Kiali를 설치합니다.
Kiali 배포를 위한 네임스페이스를 생성하는
kiali.yaml
이라는 YAML 파일을 생성합니다.설정 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예제의 끝점은 OpenShift Monitoring을 사용하여 메트릭을 구성합니다. 자세한 내용은 " Kiali를 사용하여 OpenShift 모니터링 구성"을 참조하십시오.
다음 명령을 실행하여 동 클러스터에 YAML 파일을 적용합니다.
oc --context cluster1 apply -f kiali.yaml
$ oc --context cluster1 apply -f kiali.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
kiali-istio-system.apps.example.com
kiali-istio-system.apps.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 실행하여 Kiali CR(사용자 정의 리소스)이 준비되었는지 확인합니다.
oc wait --context cluster1 --for=condition=Successful kialis/kiali -n istio-system --timeout=3m
$ oc wait --context cluster1 --for=condition=Successful kialis/kiali -n istio-system --timeout=3m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
kiali.kiali.io/kiali condition met
kiali.kiali.io/kiali condition met
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kiali 경로 호스트 이름을 표시합니다.
oc --context cluster1 get route kiali -n istio-system -o jsonpath='{.spec.host}'
$ oc --context cluster1 get route kiali -n istio-system -o jsonpath='{.spec.host}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow West 클러스터에서 Kiali CR을 생성합니다.
설정 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kiali Operator는 동부 클러스터에서 Kiali 서버에 필요한 리소스를 웨스트 클러스터에 연결하는 데 필요한 리소스를 생성합니다. Kiali 서버는 서부 클러스터에 설치되지 않습니다.
다음 명령을 실행하여 서부 클러스터에 YAML 파일을 적용합니다.
oc --context cluster2 apply -f kiali-remote.yaml
$ oc --context cluster2 apply -f kiali-remote.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Kiali CR이 준비되었는지 확인합니다.
oc wait --context cluster2 --for=condition=Successful kialis/kiali -n istio-system --timeout=3m
$ oc wait --context cluster2 --for=condition=Successful kialis/kiali -n istio-system --timeout=3m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 동 클러스터에 Kiali 설치가 웨스트 클러스터에 액세스할 수 있도록 원격 클러스터 시크릿을 생성합니다.
West 클러스터에서 kiali-service-account에 바인딩된 긴 라이브 API 토큰을 생성합니다. Kiali는 이 토큰을 사용하여 서부 클러스터를 인증합니다.
설정 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 서부 클러스터에 YAML 파일을 적용합니다.
oc --context cluster2 apply -f kiali-svc-account-token.yaml
$ oc --context cluster2 apply -f kiali-svc-account-token.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubeconfig
파일을 생성하고 Kiali 배포가 있는 동부 클러스터의 네임스페이스에 시크릿으로 저장합니다.이 프로세스를 단순화하려면 다음
curl
명령을 실행하여kiali-prepare-remote-cluster.sh
스크립트를 사용하여kubeconfig
파일을 생성합니다.curl -L -o kiali-prepare-remote-cluster.sh https://raw.githubusercontent.com/kiali/kiali/master/hack/istio/multicluster/kiali-prepare-remote-cluster.sh
$ curl -L -o kiali-prepare-remote-cluster.sh https://raw.githubusercontent.com/kiali/kiali/master/hack/istio/multicluster/kiali-prepare-remote-cluster.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 실행할 수 있도록 스크립트를 수정합니다.
chmod +x kiali-prepare-remote-cluster.sh
chmod +x kiali-prepare-remote-cluster.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 동 및 서부 클러스터 컨텍스트를
kubeconfig
파일에 전달하도록 스크립트를 실행합니다../kiali-prepare-remote-cluster.sh --kiali-cluster-context cluster1 --remote-cluster-context cluster2 --view-only false --kiali-resource-name kiali-service-account --remote-cluster-namespace istio-system --process-kiali-secret true --process-remote-resources false --remote-cluster-name cluster2
$ ./kiali-prepare-remote-cluster.sh --kiali-cluster-context cluster1 --remote-cluster-context cluster2 --view-only false --kiali-resource-name kiali-service-account --remote-cluster-namespace istio-system --process-kiali-secret true --process-remote-resources false --remote-cluster-name cluster2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고스크립트 사용 방법에 대한 추가 세부 정보를 표시하려면
--help
옵션을 사용합니다.
Kiali Operator가 다음 명령을 실행하여 CR에 포함된 원격 시크릿을 등록하도록 조정 루프를 트리거합니다.
oc --context cluster1 annotate kiali kiali -n istio-system --overwrite kiali.io/reconcile="$(date)"
$ oc --context cluster1 annotate kiali kiali -n istio-system --overwrite kiali.io/reconcile="$(date)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Kiali 리소스가 준비될 때까지 기다립니다.
oc --context cluster1 wait --for=condition=Successful --timeout=2m kialis/kiali -n istio-system
oc --context cluster1 wait --for=condition=Successful --timeout=2m kialis/kiali -n istio-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Kiali 서버가 준비될 때까지 기다립니다.
oc --context cluster1 rollout status deployments/kiali -n istio-system
oc --context cluster1 rollout status deployments/kiali -n istio-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kiali에 로그인합니다.
-
Kiali에 처음 액세스할 때 Kiali 배포가 포함된 클러스터에 로그인합니다. 이 예에서는
East
클러스터에 액세스합니다. 다음 명령을 실행하여 Kiali 경로의 호스트 이름을 표시합니다.
oc --context cluster1 get route kiali -n istio-system -o jsonpath='{.spec.host}'
oc --context cluster1 get route kiali -n istio-system -o jsonpath='{.spec.host}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 브라우저에서 Kiali URL로 이동합니다. https://<your-kiali-route-hostname>.
-
Kiali에 처음 액세스할 때 Kiali 배포가 포함된 클러스터에 로그인합니다. 이 예에서는
Kiali를 통해 West 클러스터에 로그인합니다.
Kiali UI에서 다른 클러스터를 보려면 먼저 Kiali를 통해 해당 클러스터에 사용자로 로그인해야 합니다.
- 오른쪽 상단 메뉴에서 사용자 프로필 드롭다운을 클릭합니다.
- West에 로그인을 선택합니다. OpenShift 로그인 페이지로 리디렉션되고 West 클러스터에 대한 인증 정보를 입력하라는 메시지가 표시됩니다.
Kiali가 두 클러스터의 정보를 표시하는지 확인합니다.
- 개요 를 클릭하고 두 클러스터에서 네임스페이스가 표시되는지 확인합니다.
- 탐색을 클릭하고 메시 그래프에 두 클러스터가 모두 표시되는지 확인합니다.