이 페이지는 워크로드에 가장 적합한 Google Kubernetes Engine(GKE) 작업 모드를 선택하는 데 도움이 됩니다. 이 페이지는 GKE를 관리형 Kubernetes 제공업체로 고려하고 Google Cloud에서 사용할 수 있는 옵션을 알아보려는 플랫폼 관리자를 대상으로 합니다. GKE를 플랫폼으로 선택하는 것이 컨테이너화된 애플리케이션에 가장 적합한 선택인지 알아보려면 GKE 개요를 참조하세요.
GKE는 다음과 같은 클러스터 작업 모드를 제공합니다.
- Autopilot 모드(권장): GKE는 노드 구성, 자동 확장, 자동 업그레이드, 기준 보안 구성, 기준 네트워킹 구성과 같은 기본 인프라를 관리합니다.
- Standard 모드: 개별 노드 구성을 포함하여 기본 인프라를 관리합니다.
클러스터 생성 후에는 클러스터를 Standard에서 Autopilot으로 변환할 수 없습니다. 이 페이지를 읽고 원하는 경우 Autopilot 및 Standard 비교를 참고하여 정보에 입각해 선택하는 것이 좋습니다.
GKE Autopilot 모드를 사용하는 이유
Google은 GKE Autopilot 클러스터의 인프라 대부분을 관리하여 GKE Standard 모드보다 더 관리되는 Kubernetes 환경을 제공합니다. Autopilot 클러스터의 기본 구성은 대부분의 프로덕션 워크로드에 최적화되어 있습니다. GKE Autopilot은 기본적으로 보안, 확장성, 비용 최적화에 필요한 많은 Kubernetes 권장사항을 구현합니다.
대부분의 경우 Autopilot에서 프로덕션 워크로드를 실행하는 것이 좋습니다.
Autopilot은 다음과 같은 이점이 있는 기본 구성을 제공합니다.
- 비용 효율성: 워크로드가 실행되는 동안에 사용하는 컴퓨팅 리소스에 대해서만 비용을 지불합니다. 노드, 시스템 포드, 운영체제 비용 또는 예약되지 않은 워크로드의 미사용 용량에 대한 비용을 지불하지 않습니다.
- 자동화: Google에서 노드를 관리하고 앱에 새 노드를 만들고 자동 업그레이드와 복구를 구성합니다. GKE는 트래픽에 따라 노드와 워크로드를 자동으로 확장합니다.
- 보안 상태 및 안정성 개선: Autopilot 클러스터는 기본적으로 여러 GKE 보안 설정과 Kubernetes 권장사항을 사용 설정합니다. GKE는 사용 가능한 경우 보안 패치를 자동으로 노드에 적용합니다.
GKE Autopilot의 이점의 전체 목록은 GKE Autopilot 정보를 참조하세요.
GKE Standard 모드를 사용하는 이유
Standard 모드에서는 특성을 공유하는 노드 그룹(노드 풀이라고 함)을 포함하여 클러스터와 노드의 모든 구성 설정을 관리합니다. 공유 책임 모델에 따라 Google에서 컨트롤 플레인을 계속 관리하지만 개발자가 노드를 구성해야 합니다. 개발자가 직접 관리하는 설정은 다음과 같습니다.
- 노드 풀: 구성 설정이 유사한 노드 그룹을 만들고 관리합니다.
- 보안 GKE Standard 클러스터에는 기본 강화 조치가 적용되지만 기본적으로 GKE용 워크로드 아이덴티티 제휴 및 보안 GKE 노드와 같은 다양한 GKE 보안 기능은 사용 설정되지 않습니다. 이러한 기능을 수동으로 사용 설정하고 설정을 구성할 수 있습니다.
- 예약: GKE에서 사용되지 않는 리소스가 최소화되도록(빈 패킹) 노드에서 워크로드를 효율적으로 예약할 수 있도록 워크로드를 모니터링하고 설계해야 합니다.
- 확장: 노드 자동 프로비저닝을 설정 및 구성하고 자동 확장 설정을 구성하며 노드에 리소스가 너무 많거나 너무 적지 않은지 확인해야 합니다.
- 리소스 관리: Standard 클러스터에서 실행되는 각 워크로드의 리소스 요구사항을 평가하여 리소스 요청이 워크로드 요구사항을 충족하는지 확인해야 합니다.
- 버전 관리: Standard에서는 기본적으로 자동 GKE 버전 업그레이드 및 출시 채널 등록과 같은 권장사항이 중지되어 있습니다. 클러스터를 만들거나 업데이트할 때 자동 업그레이드와 GKE 버전을 구성할 수 있습니다.
가격 차이
Autopilot의 가격 책정 모델은 다음과 같이 Standard와 다릅니다.
- Autopilot 모드: 실행 중에 워크로드에서 사용하는 컴퓨팅 리소스에 대해서만 비용을 지불합니다. 노드에서 사용하지 않는 리소스, OS 실행 비용, 예약되지 않은 워크로드 또는 시스템 워크로드에 대한 비용을 지불하지 않습니다. 자세한 내용은 Autopilot 가격 책정을 참조하세요.
- Standard 모드: 포드가 노드에서 실행되는지 여부에 관계없이 각 노드의 컴퓨팅 리소스 비용을 지불합니다. 사용하지 않는 리소스에 대한 비용을 지불하므로 노드의 리소스 낭비가 최소화되도록 워크로드 예약을 관리해야 합니다. 자세한 내용은 Standard 가격 책정을 참조하세요.
Standard 클러스터에서 일관된 리소스 사용 효율성을 보장하려면 클러스터 상태를 지속적으로 모니터링해야 합니다. Autopilot 클러스터에서 GKE는 자동으로 모니터링과 관리를 수행합니다.
Standard 클러스터에서는 노드의 미사용 컴퓨팅 리소스에 대한 비용을 지불합니다. 빈 패킹을 사용하면 이러한 비용을 줄일 수 있으며 이 경우 용량이 낭비되지 않도록 각 노드에 가능한 한 많은 포드를 배치합니다. 빈 패킹에는 지속적인 워크로드 관리와 예약 맞춤설정이 필요합니다. Autopilot 클러스터를 사용하면 워크로드에서 사용하는 리소스에 대해서만 비용을 지불하므로 워크로드를 빈 패킹할 필요가 없습니다.
Autopilot 대신 Standard를 사용할 시기
대부분의 워크로드에 Autopilot을 사용하는 것이 좋지만 사전 구성된 강화나 기본 클러스터 구성으로 인해 Autopilot이 충족할 수 없는 특정 요구사항이 있을 수 있습니다. 다음 시나리오에서는 Autopilot 모드보다 Standard 모드를 사용하는 것이 좋습니다.
SSH를 사용하여 노드에 직접 연결하는 기능을 포함하여 클러스터와 노드 구성을 세밀하게 제어해야 합니다.
노드 운영체제 변경과 같이 노드 자체에서 실행되는 소프트웨어를 설치하거나 수정하려고 합니다.
Linux sysctls를 설정하는 등의 방법으로 노드 시스템 구성을 맞춤설정하려고 합니다.
예를 들어
kube-system
과 같은 GKE 관리 네임스페이스에서 워크로드 실행 등 Autopilot에서 제한하는 작업을 수행하려고 합니다. 이러한 네임스페이스에 워크로드를 배포하지 않는 것이 좋습니다.Cloud TPU와 같이 Standard에서만 사용할 수 있는 특정 GKE 기능을 사용하려고 합니다.
오픈소스 Kubernetes에서 알파 기능을 테스트하려고 합니다.
클러스터에서 사용되지 않은 추가 용량을 프로비저닝하려고 합니다.
이와 같은 특정 요구사항이 없으면 워크로드에 Autopilot을 사용해 보는 것이 좋습니다. Autopilot 클러스터를 설정하고 hello-world
애플리케이션을 노출하는 대화형 둘러보기를 확인하려면 Google Cloud 콘솔의 Autopilot 둘러보기로 이동합니다.