GCP Cloud Engineer - 65

2024-04-19

  • Cloud
  • GCP
  • Kubernetes

GKE 운영 모드

  • Autopilot

    • ㅁ GKE에서 새로운 운영 모드

    • 컨트롤 플레인, 노드 풀, 노드를 포함한 전체 클러스터 인프라를 관리합니다.

    • ㅁ Google에서 컨트롤 플레인, 워커 노드, 코어 Kubernetes 구성요소를 모니터링 및 관리합니다.

    • ㅁ 완전 관리형 Kubernetes 클러스터로, GKE의 스케일링, 보안, 운영 기능이 통합되어 있습니다.

  • Standard

    • 클러스터 구성, 관리 및 최적화는 사용자가 직접 수행해야 합니다.

    • ㅁ 특별한 이유가 없다면 Autopilot 모드를 사용하는 것이 Google Cloud의 권장 사항입니다.

GKE 구성

  • ㅁ 사용자 관점에서 Kubernetes 다이어그램이 더 간단해집니다.

  • ㅁ GKE는 모든 컨트롤 플레인 구성요소를 관리합니다.

  • ㅁ 여전히 Kubernetes API 요청을 보낼 IP 주소를 노출하지만, GKE가 백엔드의 컨트롤 플레인 인프라를 프로비저닝하고 관리합니다.

  • 별도의 컨트롤 플레인 관리(X)가 필요 없습니다.

  • 노드 구성 및 관리는 사용 중인 GKE 모드에 따라 다릅니다.

    • Autopilot 모드에서는 GKE가 노드 구성, 오토스케일링, 자동 업그레이드, 기본 보안 및 네트워킹 구성 등의 기반 인프라를 관리합니다.

    • Standard 모드에서는 개별 노드 구성을 포함한 기반 인프라를 사용자가 직접 관리해야 합니다.

노드

  • Kubernetes 환경에서 노드는 Kubernetes 자체가 아닌 클러스터 관리자에 의해 외부에서 생성됩니다.

  • ㅁ GKE는 이 프로세스(노드 생성과 등록과정)를 자동화하여 Compute Engine 가상 머신 인스턴스를 시작하고 노드로 등록합니다.

  • ㅁ Google Cloud 콘솔에서 노드 설정을 직접 관리할 수 있습니다.

  • 노드 실행 시간(컨트롤 플레인 제외)에 대해 요금이 부과됩니다.

  • ㅁ 클러스터 생성 시 노드 머신 유형을 선택할 수 있습니다(기본값: e2-medium, 2vCPU, 4GB 메모리).

  • ㅁ Google Cloud는 다양한 Compute Engine 옵션을 제공합니다(최대 416vCPU 코어).

  • ㅁ 노드의 코어 수, 메모리 용량, CPU 플랫폼을 사용자 정의할 수 있습니다.

  • ㅁ 노드 풀을 생성하여 여러 노드 머신 유형을 선택할 수 있습니다.

노드 풀

  • ㅁ 클러스터 내 노드의 하위 집합으로, 메모리 양이나 CPU 세대와 같은 구성을 공유합니다.

  • ㅁ 워크로드가 적절한 하드웨어에서 실행되도록 노드 풀에 레이블을 지정할 수 있습니다.

  • ㅁ 노드 풀은 GKE 기능이며, 오픈소스 Kubernetes에서는 직접 유지관리해야 합니다.

  • ㅁ 노드 풀 수준에서 자동 노드 업그레이드, 자동 노드 복구, 클러스터 오토스케일링을 활성화할 수 있습니다.

주의사항

  • ㅁ 노드의 일부 CPU와 메모리GKE 및 Kubernetes 구성요소 실행에 필요합니다.

  • ㅁ 예를 들어, 15GB 메모리 노드를 할당하더라도 전체 메모리가 파드에 할당되지는 않습니다.

클러스터 배포 옵션

  • ㅁ 기본적으로 단일 Compute Zone에 3개의 동일한 노드(1개 노드 풀)로 클러스터가 시작됩니다.

  • ㅁ 클러스터 생성 중 또는 이후에 노드 수를 변경할 수 있습니다.

  • ㅁ 노드를 추가하고 애플리케이션 복제본을 배포하면 가용성이 향상됩니다.

  • 지역 클러스터를 사용하면 단일 API 엔드포인트에서 여러 Compute Zone에 컨트롤 플레인과 노드가 분산됩니다.

    • 애플리케이션 및 관리 기능의 가용성이 한 지역 내 다중 영역에서 보장됩니다.
  • 프라이빗 클러스터로 설정하면 전체 클러스터(컨트롤 플레인 및 노드)가 공용 인터넷에서 숨겨집니다.

    • 내부 IP를 통해 Google Cloud 제품에 액세스할 수 있습니다.

    • 외부 IP를 통해 승인된 네트워크에서 액세스할 수 있습니다.

    • 노드는 Private Google Access를 통해 Google Cloud 서비스와 통신할 수 있습니다.


모르는 단어

파드(pod) / 노드(node)

파드(Pod)와 노드(Node)는 쿠버네티스(Kubernetes)의 핵심 개념입니다.

파드(Pod):

쿠버네티스에서 가장 작은 배포 단위입니다.

파드는 하나 이상의 컨테이너를 포함하며, 이 컨테이너들은 동일한 네트워크와 스토리지 공간을 공유합니다.

파드는 일반적으로 특정 애플리케이션의 인스턴스를 실행하는 데 사용됩니다.

노드(Node):

쿠버네티스에서 워커 머신을 의미합니다.

노드는 물리적 또는 가상의 서버일 수 있으며, 각 노드는 파드를 실행하는 데 필요한 서비스를 포함합니다.

노드는 쿠버네티스 마스터에 의해 관리되며, 마스터는 노드에 파드를 스케줄링하고, 노드의 상태를 모니터링하고, 노드 장애 시 파드를 재스케줄링하는 역할을 합니다.

GCP Cloud ...

GCP Cloud ...