워크로드 배포


클러스터 수명 주기 가이드에서 읽은 바와 같이 GKE 사용자는 일반적으로 클러스터 관리에는 Google Cloud 도구를 사용하고 애플리케이션 배포와 같은 클러스터 내부 작업에는 kubectl와 같은 Kubernetes 도구를 사용합니다. 즉, 다른 Kubernetes 구현에 워크로드를 배포하는 방법을 이미 알고 있다면 GKE에 워크로드를 배포할 때도 동일한 워크플로가 많이 필요합니다. Kubernetes에 워크로드를 배포하는 방법을 잘 모르는 경우 배포Kubernetes 학습 시작의 다른 리소스를 참고하세요.

하지만 GKE는 관측 가능성 도구, 스테이트풀 애플리케이션을 위한 완전 관리형 데이터베이스 옵션, AI/ML 워크로드를 비롯한 특수 워크로드 유형을 위한 특정 하드웨어 옵션 등 워크로드를 배포하고 관리하기 위한 추가 기능도 제공합니다.

이 페이지에서는 GKE 클러스터에 워크로드를 배포하려는 개발자와 관리자를 위해 자세한 문서 링크와 함께 간략한 개요를 제공합니다. GKE 핵심 문서의 배포... 섹션에서 더 많은 구체적인 가이드와 튜토리얼을 확인할 수 있습니다.

이 페이지를 읽기 전에 다음 사항을 숙지해야 합니다.

필요한 역할

프로젝트 소유자가 아닌 경우 워크로드를 배포하려면 최소한 다음 Identity and Access Management (IAM) 역할이 있어야 합니다.

  • Kubernetes Engine 클러스터 뷰어 (roles/container.clusterViewer): Google Cloud 프로젝트의 클러스터에 인증하는 데 필요한 container.clusters.get 권한을 제공합니다. 하지만 이 권한으로 클러스터 내에서 작업을 수행할 수는 없습니다. 클러스터 관리자는 IAM 또는 Kubernetes RBAC를 사용하여 클러스터에서 다른 작업을 실행하도록 승인할 수 있습니다.

    이 역할에 포함된 모든 권한에 대한 자세한 내용이나 읽기/쓰기 권한이 있는 역할을 부여하려면 IAM 문서의 Kubernetes Engine 역할을 참고하세요.

GKE에서 액세스 제어가 작동하는 방식에 대한 자세한 내용은 액세스 제어를 참고하세요.

스테이트리스(Stateless) 애플리케이션

스테이트리스(Stateless) 애플리케이션은 클러스터나 영구 스토리지에 데이터 또는 애플리케이션 상태를 저장하지 않는 애플리케이션입니다. 스테이트리스 애플리케이션은 Kubernetes API를 사용하거나 Google Cloud 콘솔의 워크로드 메뉴에서 직접 배포할 수 있습니다. 스테이트리스(Stateless) Linux 애플리케이션 배포에서 GKE에 스테이트리스(Stateless) Linux 애플리케이션을 배포하는 방법을 알아볼 수 있습니다. 원하는 경우 스테이트리스 Windows Server 애플리케이션을 배포하는 방법도 알아볼 수 있습니다.

스테이트풀(Stateful) 애플리케이션 및 스토리지

포드의 전체 기간 동안 존재하는 데이터를 저장해야 하는 애플리케이션을 스테이트풀(Stateful) 애플리케이션이라고 합니다. 나 또는 관리자는 Kubernetes PersistentVolume 객체를 사용하여 이 스토리지를 프로비저닝할 수 있습니다. GKE에서 PersistentVolume 스토리지는 Compute Engine 디스크로 지원됩니다. 스테이트풀(Stateful) 애플리케이션 배포에서 GKE에 간단한 스테이트풀(Stateful) 애플리케이션을 배포하는 방법을 알아볼 수 있습니다.

스테이트풀 애플리케이션의 데이터가 클러스터의 전체 기간에 연결된 스토리지가 아닌 데이터베이스에 유지되어야 하는 경우 GKE는 다음 옵션을 제공합니다.

  • 완전 관리형 데이터베이스: Cloud SQL 또는 Spanner와 같은 관리형 데이터베이스는 감소된 운영 오버헤드를 제공하며, Google Cloud 인프라에 최적화되었습니다. 관리형 데이터베이스는 Kubernetes에 직접 배포하는 데이터베이스보다 유지보수 및 운영 노력이 적게 필요합니다.
  • Kubernetes 애플리케이션: GKE 클러스터에 MySQL 또는 PostgreSQL 같은 데이터베이스 인스턴스를 배포하고 실행할 수 있습니다.

GKE의 데이터GKE에서 데이터베이스 배포 계획에서 GKE의 데이터 옵션에 대해 자세히 알아보세요.

AI/ML 워크로드

GKE는 AI/ML 워크로드 배포를 위한 다양한 지원 기능을 제공합니다. 여기에는 전문 하드웨어에서 모델 학습 및 제공을 지원하는 기능과 분산 컴퓨팅 및 데이터 처리 프레임워크와의 유연한 통합이 포함됩니다. 다음 가이드에서 자세히 알아보세요.

  • GKE의 TPU 정보에서는 GKE의 AI/ML 워크로드에 Cloud TPU 가속기를 사용하는 방법을 소개합니다. GKE는 TPU VM 생성, 구성, 삭제를 비롯한 TPU 노드 및 노드 풀 수명 주기 관리를 완벽하게 지원합니다. Standard 클러스터와 Autopilot 클러스터 모두에 TPU 워크로드를 배포할 수 있습니다.
  • GKE의 GPU 정보에서는 GKE 워크로드에서 GPU 하드웨어를 요청하고 사용하는 방법을 설명합니다.

기타 특별 요구사항이 있는 워크로드

GKE는 특정 노드 아키텍처가 필요하거나 포드가 동일하거나 별도의 노드에서 실행되어야 하는 애플리케이션을 비롯한 기타 특별한 요구사항이 있는 워크로드를 배포하는 데 도움이 되는 기능과 가이드를 제공합니다. 다음 가이드에서 이러한 기능 중 일부를 배포하는 방법을 자세히 알아보세요.

  • Autopilot의 컴퓨팅 클래스에서는 Autopilot 클러스터에 애플리케이션을 배포할 때 포드를 예약하기 위해 특정 컴퓨팅 아키텍처를 선택하는 방법을 설명합니다. 표준 클러스터의 경우 클러스터를 만들 때 노드에 사용할 머신 계열을 직접 지정할 수 있습니다.
  • 커스텀 컴퓨팅 클래스 정보에서는 Autopilot 및 표준 클러스터 모두에서 애플리케이션의 하드웨어 옵션을 지정할 때 유연성을 높이기 위해 커스텀 컴퓨팅 클래스를 만드는 방법을 설명합니다.
  • GKE에서 워크로드 분리 구성에서는 애플리케이션의 포드가 동일한 기본 머신 또는 다른 기본 머신에서 실행되도록 하는 방법을 설명합니다.
  • GKE Sandbox에서는 알 수 없거나 신뢰할 수 없는 워크로드를 배포할 때 샌드박스 포드를 사용하여 호스트 커널을 보호하는 방법을 설명합니다.

워크로드 관찰

GKE는 Google Cloud 콘솔에서 워크로드 상태 및 측정항목을 한눈에 볼 수 있는 개요와 더 심층적인 측정항목, 로그, 알림을 비롯하여 워크로드와 워크로드 상태를 관찰하기 위한 다양한 기능을 제공합니다.

워크로드 배포 관리

나 또는 관리자가 워크로드 배포를 위한 지속적 통합 및 배포 (CI/CD) 파이프라인을 설정하려는 경우 GKE용 지속적 통합 및 배포 권장사항에서 CI/CD를 위한 GKE별 권장사항 및 가이드라인을 확인할 수 있으며, 특정 도구 및 제품으로 CI/CD 파이프라인을 설정하는 방법에 관한 튜토리얼도 확인할 수 있습니다.

다음 단계