EKS 연결 클러스터에 Cloud Logging 설치

이 문서에서는 GKE 연결 클러스터가 Cloud Logging과 통합되는 방법과 로그에 액세스하는 방법을 설명합니다.

개요

GKE 연결 클러스터는 워크로드 및 워커 노드에서 실행되는 시스템 구성요소에 Cloud Logging을 지원합니다.

GKE 연결 클러스터에는 워커 노드에서 실행되는 Fluentbit 기반 로깅 에이전트가 Daemonset로 포함되어 있습니다. 로깅 에이전트가 수집한 데이터는 Cloud Logging 문서의 설명대로 다른 측정항목 및 로그 데이터처럼 관리 및 삭제할 수 있습니다.

시작하기 전에

  1. GKE 연결 클러스터의 기본 요건을 충족하세요.

  2. Cloud Logging 및 Cloud Monitoring을 승인하여 Google Cloud Observability에 대한 권한을 설정합니다.

수집되는 데이터

다음 정보 중 일부 또는 전부를 캡처하도록 GKE 연결 클러스터를 구성할 수 있습니다.

  • 워크로드 로그

로깅 사용 설정

클러스터를 연결할 때 로깅 모드를 지정하지 않으면 GKE 연결 클러스터가 기본적으로 시스템 로깅을 사용 설정합니다. 워크로드 로깅의 경우 클러스터는 Kubernetes 버전 1.23 이상이어야 합니다.

클러스터를 연결할 때 워크로드 로깅을 사용 설정하려면 안내에 따라 EKS 클러스터를 연결하고 선택적 --logging 플래그를 gcloud container attached clusters register 명령어에 포함합니다.

gcloud container attached clusters register CLUSTER_NAME
...
--logging=LOGGING_FLAG

이미 연결된 클러스터에서 워크로드 로깅을 사용 설정하려면 안내에 따라 EKS 클러스터를 업데이트하고 선택적 --logging 플래그를 gcloud container attached clusters update 명령어에 포함합니다.

gcloud container attached clusters update CLUSTER_NAME
...
--logging=LOGGING_FLAG

LOGGING_FLAG를 사용 설정하려는 로깅 종류를 나타내는 플래그로 바꿉니다.

  • NONE: 로깅을 사용 중지합니다.
  • SYSTEM: 특정 네임스페이스에서 실행되는 시스템 워크로드의 로깅을 사용 설정합니다.
  • SYSTEM,WORKLOAD: 클러스터의 워커 노드에서 시스템 및 워크로드 활동 모두의 로깅을 사용 설정합니다.

로그 액세스

Cloud Logging에서 GKE 연결 클러스터 로그에 액세스하는 방법에는 여러 가지가 있습니다.

  • 로그 탐색기 – 로깅 필터를 사용하여 클러스터, 노드, 네임스페이스, 포드 또는 컨테이너 로그와 같은 Kubernetes 리소스를 선택하면 로그 탐색기에서 직접 로그를 볼 수 있습니다.

  • Google Cloud CLIgcloud logging read 명령어를 사용하여 적절한 클러스터, 노드, 포드, 컨테이너 로그를 선택합니다.

로그 이해

Cloud Logging의 로그는 로그 항목의 모음이며 각 로그 항목은 특정 유형의 로깅 리소스에 적용됩니다.

리소스 유형

다음은 GKE 연결 클러스터와 관련된 리소스 유형입니다.

리소스 유형 표시 이름
k8s_container 워크로드 컨테이너 로그

GKE 연결 클러스터가 클러스터 로그를 작성할 때 각 로그 항목에 리소스 유형이 포함됩니다. 로그가 어디에 나타나는지 이해하면 필요할 때 로그를 쉽게 찾을 수 있습니다.

시스템 앱 로그

시스템 앱 로그는 k8s_container 리소스 유형에 속합니다. 여기에는 GKE 연결 클러스터가 워커 노드에 설치한 포드의 로그가 포함됩니다. 특히 다음 네임스페이스에서 실행되는 컨테이너가 포함됩니다.

  • gke-connect
  • gke-system
  • gmp-system
  • asm-user-auth
  • cnrm-system
  • config-management-system
  • gatekeeper-system
  • gmp-public
  • istio-system
  • knative-serving

Cloud Logging 사용자 인터페이스에서 로그 찾기

Cloud Logging 사용자 인터페이스의 로그 탐색기를 사용하여 로그를 볼 수 있습니다.

로그 탐색기

쿼리 빌더를 사용하면 쿼리 매개변수를 수동으로 추가하여 쿼리를 빌드할 수 있습니다. 예를 들어 시스템 워크로드의 로그를 탐색하려면 k8s_container 리소스 유형을 선택하거나 검색하는 것으로 시작한 다음 위치와 클러스터 이름을 선택할 수 있습니다. 그런 다음 컨테이너 또는 포드 이름을 필터링하여 검색을 세분화할 수 있습니다.

로그 탐색기는 로그 필드 탐색기를 사용하여 검색 쿼리를 작성할 수 있는 추가적인 방법을 제공합니다. 해당 로그 필드의 로그 항목 수를 내림차순으로 정렬하여 보여줍니다. 로그 필드 탐색기를 사용하면 리소스에 대한 Kubernetes 값을 쉽게 선택할 수 있기 때문에 GKE 연결 클러스터 로그에 특히 유용합니다. 예를 들어 특정 클러스터, 네임스페이스, 포드 이름 및 컨테이너 이름에 대한 로그를 선택할 수 있습니다.

자세한 내용은 로그 탐색기 사용을 참조하세요.

샘플 쿼리

이 섹션에는 로그 탐색기에서 만들 수 있는 샘플 쿼리가 포함되어 있습니다.

예시 1: Google Cloud 클러스터 CLUSTER_NAMEgke-connect-agent 컨테이너 로그를 가져옵니다.

resource.type="k8s_container"
resource.labels.cluster_name="attachedClusters/CLUSTER_NAME"
resource.labels.container_name="gke-connect-agent"

다음 단계