이 페이지에서는 관리자를 위한 GKE 클러스터 관리에 관한 간략한 개요를 제공합니다.
GKE에서 워크로드를 실행하는 개발자인 경우 이러한 작업의 대부분을 실행하지 않아도 됩니다. GKE에서 워크로드를 배포하는 방법에 관한 소개는 워크로드 배포를 참고하세요.
이 페이지를 읽기 전에 기본 Kubernetes 개념과 다음을 숙지해야 합니다.
어떤 도구를 사용해야 하나요?
관리자는 다양한 도구를 사용하여 GKE 클러스터를 관리합니다.
클러스터의 구성과 전반적인 특성을 제어하려면 Google Cloud CLI 및 Google Cloud 콘솔을 비롯한 Google Cloud 도구 및 API를 사용합니다. 이러한 작업에는 클러스터 만들기, 업데이트, 보기, 삭제, Identity and Access Management (IAM)를 사용하여 클러스터에 액세스할 수 있는 사용자 관리하기 등이 포함됩니다. 모니터링, 로깅, 알림을 위해 Observability 서비스와 같은 다른 Google Cloud 도구와 서비스를 사용할 수 있습니다.
클러스터의 내부 동작을 제어하려면 Kubernetes API와
kubectl
명령줄 인터페이스를 사용합니다.kubectl
를 사용해야 할 수 있는 작업에는 워크로드 배포, Kubernetes 역할 기반 액세스 제어 (RBAC) 정책 적용, Kubernetes 네트워크 정책 규칙 지정 등이 있습니다. GKE 클러스터에서 사용할 수 있도록kubectl
를 구성하는 방법에 관한 자세한 내용은kubectl
설치 및 클러스터 액세스 구성을 참고하세요.클러스터와 워크로드를 선언적으로 프로비저닝하려면 Terraform을 사용하면 됩니다. Terraform으로 GKE 리소스 프로비저닝에서 GKE와 함께 Terraform을 사용하는 방법을 자세히 알아보세요.
기본 클러스터 관리
기본 클러스터 관리 작업에는 클러스터 구성, 클러스터 업그레이드, 노드 구성이 포함됩니다. 클러스터에 기본 Autopilot 모드를 사용하는 경우 (권장) GKE에서 대부분을 처리합니다. 클러스터 업그레이드 및 노드 구성은 GKE에서 관리합니다. 표준 모드를 사용하는 경우 업그레이드만 GKE에서 관리하며 노드는 직접 구성해야 합니다. 클러스터에 표준 모드를 선택해야 하는 경우는 GKE 작업 모드에서 자세히 알아볼 수 있습니다.
기본 클러스터 관리 작업은 Google Cloud 의 GKE 클러스터에만 적용되며 일반적으로 Kubernetes 시스템 자체는 포함하지 않습니다. 이러한 작업은 전적으로 Google Cloud 콘솔, Google Cloud CLI, GKE API 또는 Terraform의 Google Cloud제공업체를 사용하여 수행합니다.
클러스터 보기
Google Cloud 콘솔 및 Google Cloud CLI 또는 GKE API를 사용하여 클러스터에 관한 기본 정보를 확인할 수 있습니다. 여기에는 클러스터의 실행 여부와 현재 구성, 모든 클러스터 목록이 포함됩니다. 자세한 내용은 클러스터 관리를 참고하세요.
클러스터 상태 및 상태에 관한 자세한 내용은 관측 가능성 도구 및 기능을 사용하세요.
클러스터 및 노드 업그레이드
기본적으로 클러스터와 노드는 자동으로 업그레이드됩니다. 각 클러스터에서 업그레이드 작동 방식을 구성하는 방법(예: 업그레이드가 발생할 수 있는 경우와 발생할 수 없는 경우)을 자세히 알아보세요.
클러스터 수준 구성
클러스터 수준 구성 작업에는 GKE 클러스터 및 노드 생성과 삭제가 포함됩니다. 클러스터 유지보수 작업이 실행될 수 있는 시점과 같은 일부 클러스터 설정을 업데이트할 수도 있습니다.
클러스터 구성에 관한 자세한 내용은 클러스터 구성 개요를 참고하세요.
노드 구성
클러스터에 Autopilot을 사용하는 경우 GKE에서 자동으로 노드를 구성하므로 노드 구성에 관해 걱정할 필요가 없습니다.
Autopilot 클러스터 노드는 모두 GKE에서 완전히 관리하며 모두 동일한 노드 운영체제 (OS)인 cos_containerd
를 사용합니다.
그러나 클러스터에 Standard 모드를 사용해야 하는 경우 GKE는 클러스터 노드에 다양한 옵션을 제공합니다. 예를 들어 하나 이상의 노드 풀을 만들 수 있습니다. 노드 풀은 클러스터 내에서 공통 구성을 공유하는 노드 그룹입니다. 클러스터에는 하나 이상의 노드 풀이 있어야 하며, 클러스터를 만들 때 기본적으로 default
라는 노드 풀이 생성됩니다. 노드 풀 추가 및 관리에서 GKE의 노드 풀 관리에 대해 자세히 알아보세요.
표준 클러스터의 다른 노드 구성 옵션에는 기본 OS가 아닌 OS 선택, 임시 스팟 VM 사용, 새 노드의 최소 CPU 플랫폼 선택이 있습니다. Autopilot 사용자는 컴퓨팅 집약적인 워크로드의 최소 CPU 플랫폼을 지정할 수도 있지만 워크로드 범위 내에서만 지정할 수 있습니다.
표준 클러스터에서도 GKE에서 관리하는 iptables
규칙 또는 기타 노드 수준 설정을 변경할 수 없습니다. 수동으로 변경한 사항이 클러스터의 선언 구성으로 되돌아가면 노드가 연결되지 않거나 의도치 않게 노출될 수 있습니다.
클러스터 네트워킹 구성
클러스터 관리의 중요한 측면은 표준 클러스터의 IP 주소 옵션, 클러스터의 노드에 공개 네트워크에서 액세스할 수 있는지 여부 (공개 네트워크에서 액세스할 수 없는 노드는 비공개 노드라고 함), 네트워크 액세스 정책과 같은 클러스터의 다양한 네트워킹 기능을 사용 설정하고 제어하는 것입니다.
많은 네트워킹 기능은 클러스터를 만들 때 설정되며, 그중 다수는 클러스터를 다시 만들지 않고는 변경할 수 없습니다.Google Cloud 인터페이스를 사용하여 클러스터를 만들 때 사용하려는 네트워킹 기능을 사용 설정해야 합니다. 이 동작으로 인해 네트워크 관리자가 아닌 경우 프로덕션용 클러스터를 설정할 때 네트워크 관리자와 긴밀하게 협력해야 할 수 있습니다.
Google Cloud 도구로 사용 설정할 수 있는 일부 네트워킹 기능(예: 네트워크 정책 적용)에는 Kubernetes API를 사용한 추가 구성도 필요합니다.
네트워크 개요에서 GKE 네트워킹에 대해 자세히 알아보세요.
클러스터 관측 가능성
클러스터 관리의 또 다른 중요한 부분은 관측 가능성 도구를 구성하고 사용하여 인프라 및 애플리케이션의 상태를 파악하고 애플리케이션 가용성 및 안정성을 유지하는 것입니다. 기본적으로 GKE 클러스터는 다음을 실행하도록 구성됩니다.
- 시스템 로그, 감사 로그, 애플리케이션 로그를 Cloud Logging에 전송합니다.
- 시스템 측정항목을 Cloud Monitoring으로 전송합니다.
- Google Cloud Managed Service for Prometheus를 사용하여 구성된 서드 파티 및 사용자 정의 측정항목을 수집한 후 Cloud Monitoring으로 전송합니다. Google Cloud Managed Service for Prometheus를 사용하면 Prometheus를 대규모로 수동으로 관리하고 운영하지 않고도 Prometheus를 사용하여 워크로드를 모니터링하고 알림을 전송할 수 있습니다.
또한 GKE는 기본 및 맞춤 대시보드, 알림, 서비스 수준 목표 (SLO) 모니터링, 로그 분석 등 수집한 데이터를 사용하는 데 도움이 되는 관측 가능성 기능을 제공합니다.
GKE 관측 가능성 설정 및 사용에 관한 자세한 내용은 GKE 관측 가능성을 참고하세요.
클러스터 보안 구성
GKE에는 클러스터에서 사용할 수 있는 Google Cloud용 및 Kubernetes 보안 기능이 포함되어 있습니다.Google Cloud 콘솔을 사용하여 IAM과 같은Google Cloud수준의 보안을 관리할 수 있습니다. Kubernetes API와 기타 인터페이스를 사용하여 Kubernetes 역할 기반 액세스 제어 (RBAC)와 같은 클러스터 내 보안 기능을 관리합니다.
GKE에서 제공되는 보안 기능을 알아보려면 보안 개요 및 클러스터 보안 강화를 참고하세요. GKE Autopilot 클러스터는 많은 보안 기능과 구현 권장사항을 자동으로 구현합니다. 자세한 내용은 GKE Autopilot의 보안 기능을 참고하세요.
비용 최적화
GKE의 도구를 사용하면 클러스터 비용을 확인하고 비용을 지불하는 Google Cloud 리소스를 가장 효율적으로 사용하고 있는지 확인할 수 있습니다. 다양한 시간 척도에 걸쳐 CPU, 메모리, 디스크 사용량의 사용률 측정항목을 확인하고 이러한 측정항목을 사용하여 리소스 사용을 최적화할 수 있습니다. 예를 들어 크기를 조정하려는 클러스터가 잠재적으로 사용량이 부족하거나 과도한 경우를 들 수 있습니다. 자동 확장을 사용하여 한가한 시간에 클러스터 크기를 줄이고 통계 및 추천을 사용하여 유휴 클러스터를 식별하는 등 다른 권장사항을 따를 수도 있습니다.
GKE Enterprise를 사용하는 경우 Fleet 전체 및 개별 팀의 비용을 최적화하기 위한 측정항목을 볼 수도 있습니다.
재해 복구 구성
서비스 중단 이벤트 발생 시 프로덕션 워크로드를 계속 사용할 수 있도록 하려면 재해 복구(DR) 계획을 준비해야 합니다. DR 계획에 대한 자세한 내용은 재해 복구 계획 가이드를 참조하세요.
명시적 조치를 취하지 않으면 Kubernetes 구성 및 영구 볼륨이 백업되지 않습니다. Backup for GKE를 사용하여 GKE 클러스터에서 Kubernetes 구성 및 영구 볼륨을 백업 및 복원할 수 있습니다.
다음 단계
- 클러스터 구성 옵션에 대해 자세히 알아보기
- GKE 클러스터 아키텍처에서 클러스터 아키텍처 및 GKE 제어 영역에 대해 자세히 알아보세요.
GKE를 사용하는 도구에 대해 자세히 알아보세요.
스테이징을 위한 클러스터 및 워크로드 구성 튜토리얼에서 간단한 예를 통해 스테이징을 위한 클러스터 및 워크로드를 설정하는 방법을 알아보세요.