멀티 클러스터 문제 해결
이 섹션에서는 일반적인 Cloud Service Mesh 문제와 해결 방법을 설명합니다. 추가 지원이 필요하면 지원 받기를 참조하세요.
보안 비밀 누락
이 섹션은 클러스터 내 컨트롤 플레인과 Istiod 구현이 포함된 관리형 컨트롤 플레인에만 적용됩니다.
Cloud Service Mesh는 원격 엔드포인트를 올바르게 탐색할 수 있도록 Kubernetes 보안 비밀에 삽입된 kubeconfig 파일을 사용합니다. 보안 비밀이 없으면 클러스터 간 부하 분산 중에 로컬 클러스터의 포드에 항상 요청이 표시됩니다.
모든 클러스터에서 다음 명령어를 실행하여 보안 비밀이 생성되었는지 확인합니다.
kubectl get secret istio-remote-secret-CLUSTER_NAME_i -n istio-system
예상 출력을 확인합니다.
NAME TYPE DATA AGE
istio-remote-secret-CLUSTER_NAME_i Opaque 1 44s
이를 복구하려면 모든 원격 보안 비밀을 삭제하고 create-mesh
명령어를 다시 실행합니다.
연결할 수 없는 API 서버
이 섹션은 클러스터 내 컨트롤 플레인 및 관리형(istiod 구현)에만 적용됩니다.
Cloud Service Mesh의 컨트롤 플레인이 원격 클러스터의 API 서버에 연결되어야 합니다. 다음과 같은 경우 원격 클러스터에 연결할 수 없게 됩니다.
- 원격 클러스터가 삭제되었습니다.
- 원격 클러스터는 전역 액세스가 사용 설정되지 않은 비공개 클러스터입니다.
- 원격 클러스터는 마스터 승인 네트워크가 사용 설정된 비공개 클러스터이지만 Cloud Service Mesh 컨트롤 플레인 IP가 허용 목록을 사용해 올바르게 허용되지 않았습니다.
연결할 수 없는 API 서버가 지정되면 Istiod는 로그에 오류 메시지를 출력합니다. 클러스터 간 부하 분산 중에 로컬 포드에 항상 요청이 표시됩니다.
로그 탐색기 인터페이스에서 resource.type
쿼리를 istio_control_plane
으로 설정합니다.
잘못된 보안 비밀 오류가 있는지 확인합니다.
이 문제를 해결하려면 기본 API 서버 연결 가능성 문제를 수정합니다. 다음으로 모든 클러스터에서 모든 원격 보안 비밀을 삭제하고 create-mesh
명령어를 다시 실행합니다.
방화벽 규칙 누락
적절한 방화벽 규칙이 없으면 클러스터 간 부하 분산을 수행할 때 10초 지연 후에 제한 시간이 발생합니다.
이 문제를 복구하려면 방화벽 규칙 만들기에 설명된 단계를 수행합니다.