이 페이지에서는 Google Kubernetes Engine (GKE) 앰비언트 네트워킹을 문제 해결하고 확인하는 방법을 보여줍니다. 클러스터 내 주변 구성요소의 상태를 확인하고, 트래픽 인증 및 승인 문제를 진단하고, 인증서 발급을 확인하고, 측정항목과 로그를 검사하는 방법을 안내합니다.
구성요소가 설치되어 있고 정상인지 확인
Cloud Service Mesh 앰비언트 모드의 클러스터 내 구성요소는 gke-managed-ambient 네임스페이스에 설치됩니다. 다음 명령어를 사용하여 관련 포드의 상태를 모두 확인할 수 있습니다.
kubectl get pods -n gke-managed-ambient
트래픽이 인증되고 승인되었는지 확인
Cloud de Confiance 콘솔에서 로그 탐색기를 사용하여 관심 있는 연결에 해당하는 액세스 로그를 확인합니다.
resource.type="k8s_container"
resource.labels.location="CLUSTER_LOCATION"
resource.labels.cluster_name="CLUSTER_NAME"
logName="projects/PROJECT_ID/logs/gke-ambient-node-proxy-accesslog"
액세스 로그에는 인증 및 승인 상태를 비롯한 연결 세부정보가 표시됩니다.
로그 형식
| 필드 | 유형 | 설명 |
|---|---|---|
connection |
구조체 | 연결 정보 |
connection.src_ip |
문자열 | 연결의 소스 IP입니다. |
connection.src_port |
int | 연결의 소스 포트입니다. |
connection.dest_ip |
문자열 | 연결의 대상 IP입니다. |
connection.dest_port |
int | 연결의 대상 포트입니다. |
connection.direction |
문자열 | 연결 방향: {ingress, egress} |
src |
구조체 | 소스의 엔드포인트 정보입니다. |
src.spiffe_id |
문자열 | 포드의 SPIFFE ID입니다. 포드에 SPIFFE ID가 없는 경우 비어 있습니다. |
dst |
구조체 | 대상 엔드포인트 정보입니다. |
dst.spiffe_id |
문자열 | 포드의 SPIFFE ID입니다. 포드에 SPIFFE ID가 없는 경우 비어 있습니다. |
error_details |
문자열 | 발생한 오류에 관한 세부정보입니다 (오류가 발생하지 않은 경우 -). |
timestamp |
문자열 | 연결이 관찰된 시간 (UTC)입니다. |
tls_failure_reason |
문자열 | TLS 핸드셰이크 실패 이유입니다. null: 연결이 TLS가 아닌 경우 |
인증서가 성공적으로 발급되었는지 확인
다음 명령어를 사용하여 클러스터의 워크로드 포드에 대한 CertificateSigningRequests 상태를 검사합니다.
kubectl get csr
다음과 비슷한 'Approved,Issued' 조건이 표시됩니다.
NAME AGE SIGNERNAME CONDITION
gke-ambient-spiffe-csr-q8kqh 2s spiffe.gke.io/fleet-svid Approved,Issued
gke-ambient-spiffe-csr-t5px2 7s spiffe.gke.io/fleet-svid Approved,Issued
네트워크 서비스 모니터링 측정항목
Cloud Service Mesh 앰비언트 네트워킹은 표준 Cloud Observability 측정항목 외에도 네트워크 서비스 모니터링과 통합되어 자세한 레이어 4 네트워크 원격 분석을 제공합니다.
자세한 내용은 네트워크 서비스 모니터링 개요 및 네트워크 서비스 모니터링 측정항목 참조를 참고하세요.