클러스터 디자인 및 작업

이 문서에서는 클러스터 구성 및 네트워크 디자인에 대해 설명합니다. 인프라 프로비저닝을 자동화하여 미래 지향적 확장성을 구현하는 방법을 알아봅니다. 프로비전은 원하는 IT 인프라를 설정하는 프로세스입니다. 자동화된 인프라 프로비저닝은 원격 설치를 지원하고 가상 환경을 설정합니다. 비즈니스 연속성 및 재해 복구를 계획하여 고가용성을 유지하는 데에도 도움이 됩니다.

계획, 학습 및 증명

시작할 때 아래의 검사 목록 및 Kubernetes 리소스는 클러스터 디자인을 계획하는 데 도움이 됩니다. 이 섹션을 끝내면 다음 질문에 답할 수 있습니다.

  • 클러스터에 대한 네트워킹 디자인 요구 사항을 확인했나요?
  • 다양한 요구 사항이 있는 서비스가 있나요? 사용할 노드 풀은 몇 개인가요?

검사 목록:

  • 네트워크 디자인 고려 사항을 식별합니다. 클러스터 네트워크 디자인 고려 사항을 이해하고, 네트워크 모델을 비교하고, 요구에 맞는 Kubernetes 네트워킹 플러그 인을 선택합니다. Azure CNI(Container Networking Interface) 네트워킹의 경우 노드당 최대 Pod의 배수(기본값: 30) 및 노드 수로 필요한 IP 주소 수를 고려합니다. 업그레이드하는 동안 필요한 노드를 하나 추가합니다. 부하 분산 장치 서비스를 선택할 때 노출된 엔드포인트 수를 줄이기 위해 서비스가 너무 많은 경우 수신 컨트롤러를 사용하는 것이 좋습니다. Azure CNI의 경우 적절한 라우팅을 보장하기 위해 서비스 CIDR은 가상 네트워크와 연결된 모든 가상 네트워크에서 고유해야 합니다.

    자세히 알아보려면 다음을 참조하세요.

  • 여러 노드 풀을 만듭니다. 컴퓨팅 또는 스토리지 요구가 다른 애플리케이션을 지원하기 위해 필요에 따라 여러 노드 풀을 사용하여 클러스터를 구성할 수 있습니다. 예를 들어 더 많은 노드 풀을 사용하여 컴퓨팅 집약적 애플리케이션에 대한 GPU를 제공하거나 고성능 SSD 스토리지에 액세스할 수 있습니다. 자세한 내용은 Azure Kubernetes Service에서 클러스터에 대한 여러 노드 풀 만들기 및 관리를 참조하세요.

  • 가용성 요구 사항을 결정합니다. Azure Kubernetes Service 뒤에 최소 두 개의 Pod가 있으면 Pod 오류 또는 다시 시작하기가 있을 경우 애플리케이션의 고가용성을 보장합니다. Pod 오류 및 다시 시작 중에 부하를 처리하려면 Pod를 세 개 이상 사용해야 합니다. 클러스터 구성의 경우 99.95%의 서비스 수준 계약을 충족하려면 가용성 집합 또는 가상 머신 확장 집합에 최소 두 개의 노드가 필요합니다. 노드 오류 및 다시 부팅 중에 Pod 예약을 보장하려면 Pod를 3개 이상 사용합니다.

    애플리케이션에 더 높은 수준의 가용성을 제공하기 위해 클러스터를 가용성 영역에 분산할 수 있습니다. 이러한 영역은 지정된 지역 내에서 물리적으로 분리된 데이터 센터입니다. 클러스터 구성 요소가 여러 영역에 분산된 경우 클러스터는 영역 중 하나에서 오류를 허용할 수 있습니다. 전체 데이터 센터에 가동 중단이 발생하더라도 애플리케이션 및 관리 작업은 계속 사용할 수 있습니다. 자세한 내용은 가용성 영역을 사용하는 AKS(Azure Kubernetes Service) 클러스터 만들기를 참조하세요.

프로덕션으로 이동하여 인프라 모범 사례 적용

프로덕션을 위해 애플리케이션을 준비할 때 최소 모범 사례 집합을 구현합니다. 이 단계에서 이 검사 목록을 사용합니다. 이 섹션을 끝내면 다음 질문에 답할 수 있습니다.

  • 클러스터 인프라를 자신 있게 다시 배포할 수 있나요?
  • 리소스 할당량을 적용했나요?

검사 목록:

  • 클러스터 프로비저닝을 자동화합니다. 인프라를 코드로 사용하면 인프라 프로비저닝을 자동화하여 재해 중에 더 많은 복원력을 제공하고 민첩성을 확보하여 필요에 따라 인프라를 신속하게 다시 배포할 수 있습니다. 자세한 내용은 Terraform을 사용하여 Azure Kubernetes Service로 Kubernetes 클러스터 만들기를 참조하세요.

  • Pod 중단 예산을 사용하는 가용성 계획 애플리케이션의 가용성을 유지하려면 Pod 중단 예산(PDB)을 정의하여 하드웨어 오류 또는 클러스터 업그레이드 중에 클러스터에서 최소 개수의 Pod를 사용할 수 있도록 합니다. 자세한 내용은 Pod 중단 예산을 사용하는 가용성 계획을 참조하세요.

  • 네임스페이스에 리소스 할당량을 적용합니다. 네임스페이스 수준에서 리소스 할당량을 계획하고 적용합니다. 할당량은 컴퓨팅 리소스, 스토리지 리소스 및 개체 수에 따라 설정할 수 있습니다. 자세한 내용은 리소스 할당량 적용을 참조하세요.

최적화 및 스케일링

애플리케이션이 프로덕션 상태가 된 다음 워크플로를 최적화하고 애플리케이션 및 팀이 스케일링할 수 있도록 준비하려면 어떻게 해야 할까요? 최적화 및 스케일링 검사 목록을 사용하여 준비합니다. 이 섹션을 끝내면 다음 질문에 답할 수 있습니다.

  • 비즈니스 연속성 및 재해 복구 계획이 있나요?
  • 클러스터가 애플리케이션 요구를 충족하도록 확장될 수 있나요?
  • 클러스터 및 애플리케이션 상태를 모니터링하고 경고를 받을 수 있나요?

검사 목록: