GKE
Google Kubernetes Engine
GCP의 관리형 Kubernetes 서비스. 컨테이너 오케스트레이션을 자동화하고 확장성 제공.
Google Kubernetes Engine
GCP의 관리형 Kubernetes 서비스. 컨테이너 오케스트레이션을 자동화하고 확장성 제공.
GKE(Google Kubernetes Engine)는 Google Cloud에서 제공하는 완전 관리형 Kubernetes 서비스입니다. Kubernetes를 개발한 Google이 직접 운영하기 때문에, 최신 Kubernetes 버전이 가장 먼저 지원되고 가장 안정적인 경험을 제공합니다. Control Plane은 Google이 무료로 관리하며, 99.95% SLA를 보장합니다.
2015년 GA(정식 출시) 이후 지속적으로 발전하여, 현재 Standard 모드와 Autopilot 모드를 제공합니다. Standard 모드는 노드 수준의 세밀한 제어가 가능하고, Autopilot 모드는 노드 관리까지 Google이 대신하여 Pod 단위 과금으로 운영 부담을 최소화합니다.
GKE는 Release Channel(Rapid, Regular, Stable)을 통해 자동 업그레이드를 관리하며, Surge Upgrade로 다운타임 없는 노드 업그레이드를 지원합니다. Workload Identity로 IAM과 Kubernetes 서비스 계정을 안전하게 연결하고, GKE Sandbox(gVisor)로 멀티테넌트 환경에서 강력한 격리를 제공합니다.
실무에서 GKE는 복잡한 마이크로서비스 아키텍처, ML 워크로드(GPU/TPU 지원), 멀티클러스터 구성에 강점을 보입니다. Anthos를 통해 온프레미스와 다른 클라우드까지 일관된 Kubernetes 환경을 확장할 수 있어, 하이브리드/멀티클라우드 전략에도 적합합니다.
# GKE Standard 클러스터 생성
gcloud container clusters create my-cluster \
--zone=asia-northeast3-a \
--num-nodes=3 \
--machine-type=e2-standard-4 \
--enable-autoscaling \
--min-nodes=1 \
--max-nodes=10 \
--enable-autorepair \
--enable-autoupgrade \
--release-channel=regular \
--workload-pool=my-project.svc.id.goog
# GKE Autopilot 클러스터 생성
gcloud container clusters create-auto my-autopilot-cluster \
--region=asia-northeast3 \
--release-channel=regular
# 클러스터 인증 정보 가져오기
gcloud container clusters get-credentials my-cluster \
--zone=asia-northeast3-a
# 노드 풀 추가 (GPU 지원)
gcloud container node-pools create gpu-pool \
--cluster=my-cluster \
--zone=asia-northeast3-a \
--machine-type=n1-standard-4 \
--accelerator=type=nvidia-tesla-t4,count=1 \
--num-nodes=1
"GKE Autopilot으로 전환하면 노드 관리 부담이 사라지고 Pod 단위로만 비용을 지불합니다. 운영팀 인력을 줄이면서도 Google SRE 수준의 안정성을 확보할 수 있어요. Release Channel을 Regular로 설정해서 안정성과 최신 기능 사이에서 균형을 맞추면 좋겠습니다."
"GKE에서 100개 이상의 마이크로서비스를 운영한 경험이 있습니다. Workload Identity로 각 서비스별 GCP 권한을 안전하게 분리하고, GKE Ingress와 Cloud Armor를 연동해 DDoS 방어와 WAF를 구성했습니다. Preemptible VM 노드 풀로 비용을 60% 절감하면서 중요 워크로드는 일반 노드에 배치했습니다."
"노드 자동 업그레이드 중에 서비스 영향이 있었네요. PodDisruptionBudget을 설정해서 최소 가용 Pod 수를 보장하고, Surge Upgrade 설정으로 업그레이드 중 추가 노드를 확보하도록 변경합시다. 다음부터는 maintenance window도 업무 외 시간으로 지정하죠."
Zonal 클러스터는 해당 존 장애 시 Control Plane이 다운됩니다. 프로덕션 환경에서는 Regional 클러스터를 사용해야 3개 존에 걸쳐 고가용성을 확보할 수 있습니다. Control Plane 비용은 동일하니 처음부터 Regional로 생성하세요.
Pod에 resources.requests를 설정하지 않으면 HPA가 제대로 동작하지 않고, limits 없이 실행하면 노드 리소스를 독점해 다른 Pod에 영향을 줍니다. Autopilot은 requests 기반으로 과금되므로 정확한 설정이 비용 최적화의 핵심입니다.
프로덕션에서는 VPC-native 클러스터, Private 클러스터(Control Plane 비공개), Workload Identity를 기본으로 설정하세요. Binary Authorization으로 신뢰된 이미지만 배포하고, Container Analysis로 이미지 취약점을 스캔하세요.