체크포인트
Create Namespaces
/ 10
Access Control in Namespaces
/ 25
Resource Quotas
/ 25
Monitoring GKE and GKE Usage Metering
/ 40
네임스페이스로 GKE 멀티 테넌트 클러스터 관리
GSP766
개요
Google Kubernetes Engine(GKE) 클러스터를 기반으로 빌드된 Google Cloud 인프라의 비용 최적화 솔루션을 고려할 때 요금이 청구되는 리소스를 효과적으로 활용하고 있는지 확인하는 것이 중요합니다. 일반적으로 사용자 또는 팀을 일대일 비율로 클러스터에 할당하는 실수를 저지르기 쉬우며 이로 인해 클러스터 급증이 발생합니다.
멀티테넌시 클러스터는 여러 사용자 또는 여러 팀이 격리된 상태로 적당한 양의 리소스를 공유하면서 워크로드에 대해 하나의 클러스터를 공유할 수 있게 해줍니다. 이는 네임스페이스를 만들어 사용할 수 있습니다. 네임스페이스를 사용하면 여러 가상 클러스터가 동일한 물리적 클러스터에 존재할 수 있습니다.
이 실습에서는 리소스 사용률을 최적화하고 사실상 비용을 최적화하기 위해 여러 네임스페이스를 사용하여 멀티 테넌트 클러스터를 설정하는 방법을 알아봅니다.
목표
이 실습에서는 다음 작업을 수행하는 방법을 배웁니다.
- GKE 클러스터에서 여러 네임스페이스 만들기
- 네임스페이스 액세스에 대한 역할 기반 액세스 제어 구성
- 여러 네임스페이스 간에 적당한 양의 리소스를 공유할 수 있도록 Kubernetes 리소스 할당량 구성
- 네임스페이스별 리소스 사용량을 파악할 수 있도록 Monitoring 대시보드 조회 및 구성
- 네임스페이스별 리소스 사용률에 대한 세분화된 측정항목을 파악할 수 있도록 Looker Studio에서 GKE 측정 보고서 생성
설정 및 요건
실습 시작 버튼을 클릭하기 전에
다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머에는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지 표시됩니다.
실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.
이 실습을 완료하려면 다음을 준비해야 합니다.
- 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
- 실습을 완료하기에 충분한 시간---실습을 시작하고 나면 일시중지할 수 없습니다.
실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법
-
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.
- Google Cloud 콘솔 열기 버튼
- 남은 시간
- 이 실습에 사용해야 하는 임시 사용자 인증 정보
- 필요한 경우 실습 진행을 위한 기타 정보
-
Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).
실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.
팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.
참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다. -
필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.
{{{user_0.username | "Username"}}} 실습 세부정보 패널에서도 사용자 이름을 확인할 수 있습니다.
-
다음을 클릭합니다.
-
아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.
{{{user_0.password | "Password"}}} 실습 세부정보 패널에서도 비밀번호를 확인할 수 있습니다.
-
다음을 클릭합니다.
중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다. -
이후에 표시되는 페이지를 클릭하여 넘깁니다.
- 이용약관에 동의합니다.
- 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
- 무료 체험판을 신청하지 않습니다.
잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.
시작
실습 시작 버튼을 누르면 파란색 실습 리소스 프로비저닝
메시지와 남은 예상 시간이 표시됩니다. 그런 다음 멀티 테넌트 클러스터 관리를 테스트하는 데 사용할 환경이 만들어지고 구성됩니다. 약 5분 후에 클러스터가 생성되고, BigQuery 데이터 세트가 복사되고, 팀을 나타내는 서비스 계정이 생성됩니다.
완료되면 더 이상 메시지가 표시되지 않습니다.
이 시작 프로세스가 완료되고 메시지가 삭제될 때까지 기다린 후 실습을 진행하세요.
Cloud Shell 활성화
Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다. Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.
- Google Cloud 콘솔 상단에서 Cloud Shell 활성화 를 클릭합니다.
연결되면 사용자 인증이 이미 처리된 것이며 프로젝트가 PROJECT_ID로 설정됩니다. 출력에 이 세션의 PROJECT_ID를 선언하는 줄이 포함됩니다.
gcloud
는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.
- (선택사항) 다음 명령어를 사용하여 활성 계정 이름 목록을 표시할 수 있습니다.
-
승인을 클릭합니다.
-
다음과 비슷한 결과가 출력됩니다.
출력:
- (선택사항) 다음 명령어를 사용하여 프로젝트 ID 목록을 표시할 수 있습니다.
출력:
출력 예시:
gcloud
전체 문서는 Google Cloud에서 gcloud CLI 개요 가이드를 참조하세요.
작업 1. 필수 파일 다운로드
- 이 실습의 일부 단계에서
yaml
파일을 사용하여 Kubernetes 클러스터를 구성합니다. Cloud Shell의 Cloud Storage 버킷에서 이 파일을 다운로드합니다.
- 현재 작업 디렉터리를
gke-qwiklab
으로 변경합니다.
작업 2. 네임스페이스 확인 및 만들기
- 다음을 실행하여 기본 컴퓨팅 영역을 설정하고 제공된 클러스터
multi-tenant-cluster
를 인증합니다.
기본 네임스페이스
기본적으로 Kubernetes 클러스터에는 4개의 시스템 네임스페이스가 있습니다.
- 다음을 실행하여 현재 클러스터 네임스페이스의 전체 목록을 가져올 수 있습니다.
출력은 다음과 비슷합니다.
- default - 네임스페이스가 별도로 지정되지 않은 경우 사용되는 기본 네임스페이스
- kube-node-lease - 각 클러스터 노드의 하트비트와 연결된 임대 객체를 관리함
- kube-public - 클러스터 전체에서 모든 사용자가 볼 수 있거나 읽을 수 있어야 하는 리소스에 사용됨
- kube-system - Kubernetes 시스템에서 생성된 구성요소에 사용됨
모든 요소가 네임스페이스에 속하는 것은 아닙니다. 예를 들어 노드, 영구 볼륨, 네임스페이스 자체는 네임스페이스에 속하지 않습니다.
- 다음을 실행하여 네임스페이스 범위 리소스의 전체 목록을 확인합니다.
전체 목록이 생성될 때 네임스페이스 범위 리소스가 네임스페이스와 연결되어야 합니다. --namespace
플래그를 포함하거나 yaml
의 메타데이터 필드에 네임스페이스를 표시하면 이를 연결할 수 있습니다.
- 네임스페이스의 리소스를 표시하기 위해
kubectl get
하위 명령어를 사용하여 네임스페이스를 지정할 수도 있습니다. 예를 들면 다음과 같습니다.
이렇게 하면 kube-system
네임스페이스의 모든 서비스가 출력됩니다.
새 네임스페이스 만들기
-
team-a
및team-b
의 네임스페이스 2개를 만듭니다.
이제 kubectl get namespace
의 출력에 2개의 새 네임스페이스가 포함됩니다.
--namespace
태그를 지정하면 제공된 네임스페이스에서 클러스터 리소스를 만들 수 있습니다. 배포 또는 포드와 같은 리소스의 이름은 해당 네임스페이스 내에서만 고유하면 됩니다.
- 예를 들어 다음을 실행하면 team-a 네임스페이스와 team-b 네임스페이스에서 동일한 이름을 사용하는 포드가 배포됩니다.
-
kubectl get pods -A
를 사용하여app-server
라는 이름의 포드 2개가 팀 네임스페이스별로 하나씩 있는지 확인합니다.
출력:
내 진행 상황 확인하기를 클릭하여 위 작업을 올바르게 수행했는지 확인합니다.
- 새로 생성된 각 포드에 대한 추가 세부정보를 보려면
kubectl describe
를 사용하고 --namespace 태그로 네임스페이스를 지정합니다.
- 한 네임스페이스의 리소스만 사용하여 작업하려면 모든 명령어에
--namespace
플래그를 사용하는 대신kubectl
컨텍스트에서 한 번 설정하면 됩니다.
- 이후 모든 후속 명령어는
--namespace
플래그를 지정하지 않아도 표시된 네임스페이스에 대해 실행됩니다.
다음 섹션에서는 클러스터를 구성하는 데 도움이 되도록 네임스페이스에 대한 역할 기반 액세스 제어를 구성합니다.
작업 3. 네임스페이스에서 액세스 제어
IAM 역할과 Kubernetes 기본 제공 역할 기반 액세스 제어(RBAC)의 조합 권한을 부여하면 클러스터의 네임스페이스 범위 리소스에 대한 액세스 권한을 프로비저닝할 수 있습니다. IAM 역할은 계정에 프로젝트에 대한 초기 액세스 권한을 부여하고, RBAC 권한은 클러스터의 네임스페이스 범위 리소스(포드, 배포, 서비스 등)에 대한 세분화된 액세스 권한을 부여합니다.
IAM 역할
Kubernetes에 대한 액세스 제어를 관리할 때 Identity and Access Management(IAM)를 사용하여 더 높은 조직 및 프로젝트 수준에서 액세스 및 권한을 관리합니다.
IAM에서 GKE에 대한 액세스 수준을 관리하는 여러 역할을 사용자 및 서비스 계정에 할당할 수 있습니다. RBAC의 세분화된 권한은 IAM에서 이미 제공한 액세스 권한을 기반으로 하며 IAM에서 부여한 액세스 권한을 제한할 수 없습니다. 따라서 멀티 테넌트 네임스페이스 범위 클러스터의 경우 할당된 IAM 역할이 최소한의 액세스 권한을 부여해야 합니다.
다음 표에는 할당할 수 있는 일반적인 GKE IAM 역할이 나와 있습니다.
역할 | 설명 |
---|---|
Kubernetes Engine 관리자 |
클러스터 및 관련 Kubernetes API 객체의 전체 관리를 위한 액세스 권한을 제공합니다. 이 역할이 있는 사용자는 모든 클러스터 및 후속 네임스페이스에서 모든 리소스를 만들고 수정하고 삭제할 수 있습니다. |
Kubernetes Engine 개발자 |
클러스터 내에서 Kubernetes API 객체에 대한 액세스 권한을 제공합니다. 이 역할이 있는 사용자는 모든 클러스터 및 후속 네임스페이스에서 리소스를 만들고 수정하고 삭제할 수 있습니다. |
Kubernetes Engine 클러스터 관리자 |
클러스터 관리에 대한 액세스 권한을 제공합니다. 이 역할이 있는 사용자는 모든 클러스터를 만들고 수정하고 삭제할 수 있으나 모든 클러스터 또는 후속 네임스페이스 내에서 직접 리소스를 만들거나 수정할 수는 없습니다. |
Kubernetes Engine 뷰어 |
GKE 리소스에 대한 읽기 전용 액세스 권한을 제공합니다. 이 역할이 있는 사용자는 네임스페이스 및 관련 리소스에 읽기 전용으로 액세스할 수 있습니다. |
Kubernetes Engine 클러스터 뷰어 |
GKE 클러스터를 가져오고 나열할 수 있는 액세스 권한입니다. 이는 클러스터의 네임스페이스 내에서 리소스에 액세스해야 하는 모든 사용자에게 필요한 최소한의 역할입니다. |
이러한 역할은 대부분 RBAC로 제한하기에는 너무 많은 액세스 권한을 부여하지만, IAM 역할인 Kubernetes Engine 클러스터 뷰어는 사용자에게 클러스터 및 네임스페이스 범위 리소스에 대한 액세스 권한만 부여합니다.
실습 프로젝트의 서비스 계정은 team-a
네임스페이스를 사용할 개발자를 나타냅니다.
- 다음을 실행하여 계정에 Kubernetes Engine 클러스터 뷰어 역할을 부여합니다.
Kubernetes RBAC
클러스터 내에서 모든 리소스 유형(포드, 서비스, 배포 등)에 대한 액세스 권한은 역할 또는 클러스터 역할에 의해 정의됩니다. 역할만 네임스페이스로 범위를 지정할 수 있습니다. 역할은 리소스와 각 리소스에 허용되는 작업을 나타내지만, 역할 바인딩은 해당 액세스 권한을 할당할 사용자 계정 또는 그룹을 나타냅니다.
현재 네임스페이스에서 역할을 만들려면 리소스 유형과 허용되는 작업 유형을 나타내는 동사를 지정합니다.
- 단일 규칙이 있는 역할은
kubectl create
로 만들 수 있습니다.
여러 규칙이 있는 역할은 yaml
파일을 사용하여 만들 수 있습니다. 예시 파일은 실습 앞부분에서 다운로드한 파일에 포함되어 있습니다.
-
yaml
파일을 검사합니다.
샘플 출력:
- 위의 역할을 적용합니다.
- team-a-developers serviceaccount와 developer-role 간에 역할 바인딩을 만듭니다.
역할 바인딩 테스트
- 서비스 계정을 가장하는 데 사용되는 서비스 계정 키를 다운로드합니다.
내 진행 상황 확인하기를 클릭하여 위 작업을 올바르게 수행했는지 확인합니다.
-
Cloud Shell에서
+
를 클릭하여 터미널에서 새 탭을 엽니다. -
여기서 다음을 실행하여 서비스 계정을 활성화합니다. 그러면 해당 계정으로 명령어를 실행할 수 있습니다.
- 클러스터의 사용자 인증 정보를 서비스 계정으로 가져옵니다.
- team-a-dev로 team-a 네임스페이스에 포드를 나열할 수 있음을 확인합니다.
출력:
- 하지만 team-b 네임스페이스에 포드를 나열하는 것은 제한됩니다.
출력:
-
첫 번째 Cloud Shell 탭으로 돌아가거나 새 탭을 엽니다.
-
클러스터 사용자 인증 정보를 갱신하고 컨텍스트를 team-a 네임스페이스로 재설정합니다.
작업 4. 리소스 할당량
클러스터가 멀티 테넌트 설정에서 공유되는 경우 사용자가 적당한 클러스터 리소스 이상을 사용할 수 없게 해야 합니다. 리소스 할당량 객체(ResourceQuota)는 네임스페이스에서 리소스 소비를 제한하는 제약조건을 정의합니다. 리소스 할당량은 객체 수(포드, 서비스, 스테이트풀(Stateful) 세트 등), 스토리지 리소스의 총합계(영구 볼륨 클레임, 임시 스토리지, 스토리지 클래스 등) 또는 컴퓨팅 리소스의 총합계(CPU 및 메모리)에 대한 한도를 지정할 수 있습니다.
- 예를 들어 다음은
team-a
네임스페이스에서 허용되는 포드 수 한도를 2로 설정하고 부하 분산기 수 한도를 1로 설정합니다.
- team-a 네임스페이스에서 두 번째 포드를 만듭니다.
- 이제 세 번째 포드를 만들어 봅니다.
다음 오류가 표시됩니다.
- 리소스 할당량에 대한 세부정보는
kubectl describe
를 사용하여 확인할 수 있습니다.
출력:
여기에서 엄격한 한도 구성 및 현재 사용 중인 수량과 함께 리소스 할당량으로 제한되는 리소스 목록을 확인할 수 있습니다.
- 다음을 실행하여 포드가 6개로 제한되도록
test-quota
를 업데이트합니다.
kubectl
에서 할당량을 업데이트하는 데 사용할 yaml
파일을 수정할 수 있습니다. 엄격한 할당량은 spec
에 따른 count/pods
의 값입니다.
- spec에 따른
count/pods
의 값을 6으로 변경합니다.
- ctrl + X, Y, Enter를 차례로 눌러 저장하고 종료합니다.
이제 업데이트된 할당량이 출력에 반영됩니다.
출력:
CPU 및 메모리 할당량
CPU 및 메모리의 할당량을 설정할 때 요청의 합계(컨테이너에 제공되도록 보장되는 값) 또는 한도의 합계(컨테이너에 전달되도록 허용되지 않은 값)에 대한 할당량을 지정할 수 있습니다.
이 실습에서는 클러스터에 각각 2개 코어와 8GB 메모리를 갖춘 e2-standard-2 머신이 4개 있습니다. 클러스터에 대한 샘플 리소스 할당량이 설정된 yaml 파일이 제공되어 있습니다.
cpu-mem-quota.yaml
- 파일 구성을 적용합니다.
이 할당량을 적용하면 모든 포드에 대한 CPU 및 메모리 요청의 합계가 각각 2cpu와 8GiB로 제한되고, 그 한도의 합계는 각각 4cpu와 12GiB로 제한됩니다.
- CPU 및 메모리 할당량을 입증하기 위해
cpu-mem-demo-pod.yaml
을 사용하여 새 포드를 만듭니다.
cpu-mem-demo-pod.yaml
:
- 파일 구성을 적용합니다.
- 이 포드가 생성되면 다음을 실행하여 할당량에 반영된 CPU 및 메모리의 요청과 한도를 확인합니다.
출력:
내 진행 상황 확인하기를 클릭하여 위 작업을 올바르게 수행했는지 확인합니다.
작업 5. GKE 및 GKE 사용량 측정 모니터링
멀티 테넌트 클러스터는 대부분 각 테넌트의 워크로드 및 리소스 요구사항이 변경될 가능성이 있으므로 리소스 할당량을 조정해야 할 수 있습니다. Monitoring을 사용하면 각 네임스페이스가 사용 중인 리소스를 일반적인 관점에서 확인할 수 있습니다.
GKE 사용량 측정을 사용하면 해당 리소스 사용량을 더욱 자세하게 확인할 수 있고 이후 각 테넌트와 관련된 비용을 더 정확히 파악할 수 있습니다.
Monitoring 대시보드
- Cloud 콘솔에서 페이지 왼쪽 상단의 탐색 메뉴를 펼친 다음 해당 메뉴에서 작업 > Monitoring을 선택합니다.
프로젝트의 작업공간이 구성되는 동안 잠시 기다립니다.
- 개요 페이지가 나타나면 왼쪽 메뉴에서 대시보드를 선택합니다.
- 대시보드 개요 페이지에서 GKE를 선택합니다.
GKE 대시보드의 테이블 모음에서 여러 리소스별로 집계된 CPU, 메모리, 디스크 사용률에 관한 자세한 내용을 확인할 수 있습니다.
예를 들어 네임스페이스 테이블은 클러스터의 네임스페이스 각각에 대한 사용률을 보여줍니다.
또한 워크로드 테이블에서 클러스터에서 실행 중인 워크로드의 사용률 데이터도 살펴볼 수 있습니다.
-
모두 보기를 클릭합니다.
-
필터 추가
상자에서 네임스페이스 > team-a를 선택합니다. -
그런 다음 적용을 클릭합니다.
그러면 team-a 네임스페이스에서 실행 중인 워크로드만 포함하도록 워크로드가 필터링됩니다.
측정항목 탐색기
-
왼쪽 창에서 측정항목 탐색기를 선택합니다.
-
측정항목 선택 필드에서 측정항목 드롭다운을 클릭합니다.
-
리소스 및 측정항목 이름으로 필터링에 Kubernetes 컨테이너를 입력합니다.
-
Kubernetes 컨테이너 > 컨테이너를 클릭합니다.
-
CPU 사용 시간
을 선택합니다. -
적용을 클릭합니다.
-
kube-system 네임스페이스를 제외하려면 필터 섹션에서 필터 추가를 클릭합니다.
-
namespace_name
을 라벨로 선택합니다. -
비교 조건으로
!= (does not equal)
을 선택하고 값으로kube-system
을 선택합니다. -
그런 다음 집계 드롭다운에서 Sum을 선택하고 기준 드롭다운에서 namespace_name을 선택한 후 확인을 클릭합니다.
네임스페이스별 컨테이너 CPU 사용 시간을 보여주는 그래프가 표시됩니다.
GKE 사용량 측정
GKE 사용량 측정은 GKE 클러스터 리소스 사용률과 소비를 BigQuery 데이터 세트로 내보내서 Looker Studio를 사용하여 시각화할 수 있게 해줍니다. 이를 통해 리소스 사용량을 더욱 세분화하여 확인할 수 있습니다. 사용량 측정을 사용하면 리소스 할당량과 효율적인 클러스터 구성에 대해 더 많은 정보에 입각한 의사 결정을 내릴 수 있습니다.
다음 두 개의 데이터 세트가 프로젝트에 추가되었습니다.
cluster_dataset - 클러스터에서 GKE 사용량 측정을 사용 설정하기 전에 수동으로 생성된 데이터 세트입니다. 이 데이터 세트에는 GKE에서 생성된 2개의 테이블(gke_cluster_resource_consumption 및 gke_cluster_resource_usage)이 포함되어 있으며 클러스터 사용량 측정항목으로 지속적으로 업데이트됩니다.
billing_dataset - 청구를 위해 BigQuery 내보내기를 사용 설정하기 전에 수동으로 생성된 데이터 세트입니다. 이 데이터 세트에는 1개의 테이블(gcp_billing_export_v1_xxxx)이 포함되어 있으며 프로젝트의 일일 비용으로 매일 업데이트됩니다.
- 다음을 실행하여 클러스터에서 GKE 사용량 측정을 사용 설정하고 데이터 세트
cluster_dataset
를 지정합니다.
GKE 비용 분석 테이블 만들기
비용 분석 테이블은 프로젝트의 청구 및 리소스 사용량 테이블에서 생성할 수 있습니다. 이 테이블은 usage_metering_query_template.sql
파일을 사용하여 클러스터 데이터 세트에서 생성됩니다. 이 템플릿은 클러스터 리소스 사용량 이해를 참고하여 사용할 수 있습니다.
먼저 Cloud Shell에서 일부 환경 변수를 설정합니다.
- 제공된 청구 테이블의 경로, 제공된 사용량 측정 데이터 세트, 새 비용 분석 테이블의 이름을 설정합니다.
- 그런 다음 이 실습을 시작할 때 다운로드한 사용량 측정 쿼리 템플릿의 경로, 생성될 사용량 측정 쿼리의 출력 파일, 데이터의 시작 날짜(데이터의 가장 빠른 날짜는 2020년 10월 26일임)를 지정합니다.
- 이제 이러한 환경 변수와 쿼리 템플릿을 사용하여 사용량 측정 쿼리를 생성합니다.
- 다음 명령어를 실행하여 이전 단계에서 렌더링한 쿼리를 사용하여 비용 분석 테이블을 설정합니다.
- 데이터 전송은 승인을 위한 링크를 제공해야 합니다. 이를 클릭하고 학습자 계정으로 로그인한 다음 안내에 따라
version_info
를 Cloud Shell에 다시 붙여넣습니다.
그러면 전송 구성이 성공적으로 생성되었음을 나타내는 메시지가 반환됩니다.
Looker Studio에서 데이터 소스 만들기
-
Looker Studio 데이터 소스 페이지를 엽니다.
-
왼쪽 상단에서 만들기 > 데이터 소스를 클릭하여 새 데이터 소스를 추가합니다.
먼저 시작하려면 계정 설정을 완료합니다 창이 표시됩니다.
-
확인 상자를 선택한 다음 계속을 클릭합니다.
-
임시 실습/계정이므로 이메일 환경설정에서 각각에 대해 아니요를 선택합니다.
-
계속을 클릭합니다.
Looker Studio에서 지원하는 Google 커넥터 목록이 표시됩니다.
- 목록에서 BigQuery를 선택합니다.
-
승인 버튼을 클릭하여 Looker Studio에서 BigQuery 프로젝트에 액세스할 수 있도록 허용합니다.
-
페이지 왼쪽 상단에서 데이터 소스의 이름을
제목 없는 데이터 소스
에서GKE 사용량
으로 바꿉니다. -
첫 번째 열에서 커스텀 쿼리를 선택합니다.
-
프로젝트 열에서 프로젝트 ID를 선택합니다.
-
커스텀 쿼리 상자에 다음 쿼리를 입력하고
[PROJECT-ID]
를 Qwiklabs 프로젝트 ID로 바꿉니다.
- 연결을 클릭합니다.
내 진행 상황 확인하기를 클릭하여 위 작업을 올바르게 수행했는지 확인합니다.
- 그런 다음 오른쪽 상단을 클릭합니다.
데이터 소스가 추가되었으므로 이제 이를 사용하여 보고서를 작성해야 합니다.
- 데이터 소스 페이지 상단에서 보고서 작성을 클릭합니다.
데이터 소스에서 새 보고서를 작성할 때 보고서에 데이터를 추가할지 묻는 메시지가 표시됩니다.
- 보고서에 추가를 클릭합니다.
Looker Studio 보고서 작성
이 보고서에서는 BigQuery 테이블을 기반으로 데이터 소스의 사용량 측정항목을 시각화할 수 있습니다.
간단한 테이블부터 시작합니다.
네임스페이스별 비용 분석을 보여주도록 이 테이블을 구성합니다. 테이블을 선택하면 오른쪽 패널에 해당 테이블과 관련된 데이터가 표시됩니다.
- 해당 패널에서 다음을 변경합니다.
-
데이터 범위 측정기준:
usage_start_time
-
측정기준:
namespace
-
측정항목:
cost
다른 필드는 모두 기본값 그대로 둡니다.
테이블을 네임스페이스 범위 리소스로 제한하려면 필터를 적용하면 됩니다.
- 데이터 패널의 필터 섹션 아래에서 필터 추가를 클릭합니다. 네임스페이스에 할당되지 않은 리소스를 제외하는 필터를 만듭니다.
-
저장을 클릭합니다.
-
필터 추가를 다시 클릭하고 필터 만들기를 클릭하여 데이터를 요청으로 제한하는 두 번째 필터를 만듭니다.
- 저장을 클릭하여 필터를 적용합니다. 결과 테이블은 다음과 같습니다.
그런 다음 네임스페이스별 비용 분석을 보여주는 원형 차트를 보고서에 추가합니다.
-
만든 테이블을 마우스 오른쪽 버튼으로 클릭하고 복제를 선택합니다.
-
보고서의 아무 곳에서나 중복 테이블 객체를 드래그합니다.
-
그런 다음 구성 패널의 헤더를 클릭합니다.
- 표시되는 옵션에서 원형 차트 아이콘을 클릭합니다.
결과 원형 차트는 다음과 같습니다.
그런 다음 리소스 유형별 비용 분석을 보여주는 도넛 차트를 추가합니다.
-
상단 툴바에서 차트 추가를 클릭하고 (도넛)을 선택하여 도넛 차트를 만듭니다.
-
보고서의 아무 곳에서나 차트를 드래그하고 다음을 사용하여 구성합니다.
-
데이터 범위 측정기준:
usage_start_time
-
측정기준:
resource_name
-
측정항목:
cost
- 필터 추가를 클릭하고 이전 차트에 적용한 2개의 필터를 선택합니다. 결과 도넛 차트는 다음과 같습니다.
-
네임스페이스별 분석을 추가하려면 상단 툴바에서 컨트롤 추가를 클릭하고 드롭다운 목록을 선택합니다.
-
도넛 차트 옆으로 드래그하고 다음을 사용하여 구성합니다.
-
데이터 범위 측정기준:
usage_start_time
-
컨트롤 필드:
namespace
-
측정항목:
None
-
필터 추가를 클릭합니다.
-
목록에서 할당되지 않음(네임스페이스 필터)을 선택합니다.
-
도넛 차트에만 영향을 주도록 컨트롤을 구성하려면 선택기 커서를 사용하여 컨트롤 객체와 도넛 차트를 모두 선택하여 두 객체 주위에 직사각형을 그립니다.
-
마우스 오른쪽 버튼을 클릭하고 그룹을 선택하여 그룹으로 바인딩합니다.
- 보고서를 미리 보려면 상단 툴바에서 보기를 클릭합니다.
보기 모드에서는 도넛 차트의 보기를 특정 네임스페이스에 맞게 조정할 수 있습니다.
- 페이지 상단의 공유 메뉴에서 보고서 다운로드를 클릭하여 전체 보고서의 사본을 PDF 파일로 다운로드합니다.
수고하셨습니다
네임스페이스를 활용하면 클러스터를 멀티 테넌트로 구성하여 리소스 사용률 저하 및 클러스터 급증의 위험을 최소화하고 추가 비용 발생을 방지할 수 있습니다. 또한 Monitoring 및 GKE 측정을 사용하면 네임스페이스별 리소스 사용률을 시각화하여 리소스 할당량 및 클러스터 구성에 대해 더 많은 정보를 기반으로 의사 결정을 내릴 수 있습니다.
다음 단계/더 학습하기
Google Cloud 교육 및 자격증
Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.
설명서 최종 업데이트: 2024년 2월 2일
실습 최종 테스트: 2024년 2월 2일
Copyright 2024 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.