다음을 통해 공유


Azure Kubernetes Fleet Manager를 사용하여 여러 클러스터에서 업데이트 오케스트레이션

클러스터 수가 많은 Kubernetes 집합을 관리하는 플랫폼 관리자는 여러 클러스터에서 안전하고 예측 가능한 방식으로 업데이트를 준비하는 데 문제를 겪는 경우가 많습니다. 이 문제를 해결하기 위해 Kubernetes Fleet Manager(Fleet)를 사용하면 업데이트 실행, 스테이지, 그룹 및 전략을 사용하여 여러 클러스터에서 업데이트를 오케스트레이션할 수 있습니다.

멤버 클러스터의 모든 노드 풀에서 사용 중인 멤버 클러스터 Kubernetes 버전 및 노드 이미지를 보여 주는 Fleet 리소스에 대한 Azure Portal 창의 스크린샷.

필수 조건

  • 이 문서의 업데이트 전략, 실행, 단계 및 그룹 참조에 대한 설명을 제공하는 이 기능의 개념 개요를 참조하세요.

  • 하나 이상의 멤버 클러스터가 있는 플릿 리소스가 있어야 합니다. 그렇지 않은 경우 빠른 시작에 따라 Fleet 리소스를 만들고 AKS(Azure Kubernetes Service) 클러스터를 멤버로 조인합니다. 이 연습에서는 5개의 AKS 멤버 클러스터를 예로 들어 플릿 리소스를 보여줍니다.

  • 다음 환경 변수를 설정합니다.

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    
  • 이 문서의 Azure CLI 지침을 따르는 경우 Azure CLI 버전 2.53.1 이상이 설치되어 있어야 합니다. 설치하거나 업그레이드하려면 Azure CLI 설치를 참조하세요.

  • 또한 다음 명령을 실행하여 설치할 수 있는 fleet Azure CLI 확장이 필요합니다.

    az extension add --name fleet
    

    다음 명령을 실행하여 릴리스된 확장의 최신 버전으로 업데이트합니다.

    az extension update --name fleet
    

참고 항목

업데이트 실행은 AKS 클러스터 수준에서 설정한 계획된 유지 관리 기간을 따릅니다. 자세한 내용은 업데이트 실행이 계획된 유지 관리 기간으로 구성된 멤버 클러스터를 처리하는 방법을 설명하는 여러 멤버 클러스터에서 계획된 유지 관리를 참조하세요.

업데이트 실행은 클러스터가 업그레이드되는 시퀀스에 대해 다음 두 가지 옵션을 지원합니다.

  • 일대일: 클러스터가 업그레이드 one-by-one 되는 시퀀스를 제어하는 데 신경 쓰지 않는 경우 순차적 플릿의 모든 멤버 클러스터를 하나씩 업그레이드하는 간단한 방법을 제공합니다.
  • 업데이트 그룹 및 단계를 사용하여 클러스터 시퀀스 제어 - 클러스터가 업그레이드되는 순서를 제어하려면 업데이트 그룹 및 업데이트 단계에서 멤버 클러스터를 구성할 수 있습니다. 또한 이 시퀀스는 업데이트 전략의 형태로 템플릿으로 저장할 수 있습니다. 업데이트 실행은 나중에 단계에 따라 업데이트 실행을 만들어야 할 때마다 시퀀스를 정의하는 대신 업데이트 전략에서 만들 수 있습니다.

모든 클러스터를 하나씩 업데이트

  1. Azure Kubernetes Fleet Manager 리소스에 대한 페이지에서 다중 클러스터 업데이트 메뉴로 이동하여 만들기를 선택합니다.

  2. 하나씩 선택하면 플릿의 모든 멤버 클러스터가 하나씩 하나씩 업그레이드됩니다.

    Azure Kubernetes Fleet Manager에서 클러스터를 하나씩 업데이트하는 업데이트 실행을 만들기 위한 Azure Portal 창의 스크린샷.

  3. 업그레이드 범위의 경우 다음 세 가지 옵션 중 하나를 선택할 수 있습니다.

    • 컨트롤 플레인 및 노드 풀 모두에 대한 Kubernetes 버전
    • 클러스터의 컨트롤 플레인에 대해서만 Kubernetes 버전
    • 노드 이미지 버전만

    업데이트 실행을 만들기 위한 Azure Portal 창의 스크린샷. 업그레이드 범위 섹션이 표시됩니다.

    노드 이미지의 경우 다음 옵션을 사용할 수 있습니다.

    • 최신: 업데이트 실행의 모든 AKS 클러스터를 해당 지역의 해당 클러스터에 사용할 수 있는 최신 이미지로 업데이트합니다.
    • 일관성: 업데이트 실행 시 사용 가능한 최신 노드 이미지가 다를 수 있는 여러 지역에 AKS 클러스터가 있을 수 있기 때문입니다(자세한 내용은 릴리스 추적기 확인). 업데이트 실행은 일관성을 위해 이러한 모든 지역에서 최신 공통 이미지를 선택합니다.

특정 순서로 클러스터 업데이트

업데이트 그룹 및 스테이지는 클러스터를 업데이트할 때 업데이트가 실행되는 순서를 더 자세히 제어합니다. 업데이트 스테이지 내에서 업데이트는 모든 다른 업데이트 그룹에 병렬로 적용됩니다. 업데이트 그룹 내에서 멤버 클러스터는 순차적으로 업데이트됩니다.

업데이트 그룹에 클러스터 할당

두 가지 방법 중 하나로 특정 업데이트 그룹에 멤버 클러스터를 할당할 수 있습니다.

  • 플릿에 멤버 클러스터를 추가할 때 그룹에 할당합니다. 예시:
  1. Azure Kubernetes Fleet Manager 리소스에 대한 페이지에서 멤버 클러스터로 이동합니다.

    Azure Kubernetes Fleet Manager 멤버 클러스터에 대한 Azure Portal 페이지의 스크린샷.

  2. 멤버 클러스터가 속해야 하는 업데이트 그룹을 지정합니다.

    Azure Kubernetes Fleet Manager에 멤버 클러스터를 추가하고 그룹에 할당하기 위한 Azure Portal 페이지의 스크린샷.

  • 두 번째 방법은 업데이트 그룹에 기존 플릿 멤버를 할당하는 것입니다. 예시:
  1. Azure Kubernetes Fleet Manager 리소스에 대한 페이지에서 멤버 클러스터로 이동합니다. 원하는 멤버 클러스터를 선택한 다음, 업데이트 그룹 할당을 선택합니다.

    기존 멤버 클러스터를 그룹에 할당하기 위한 Azure Portal 페이지의 스크린샷.

  2. 그룹 이름을 지정하고 할당을 선택합니다.

    멤버 클러스터 그룹을 업데이트하기 위한 양식을 보여 주는 멤버 클러스터에 대한 Azure Portal 페이지의 스크린샷.

참고 항목

모든 플릿 멤버는 하나의 업데이트 그룹에만 속할 수 있지만 업데이트 그룹에는 여러 플릿 멤버가 있을 수 있습니다. 업데이트 그룹 자체는 별도의 리소스 종류가 아닙니다. 업데이트 그룹은 플릿 멤버에 의한 참조를 나타내는 문자열일 뿐입니다. 따라서 공통 업데이트 그룹에 대한 참조가 있는 모든 플릿 멤버가 삭제되면 해당 업데이트 그룹도 더 이상 존재하지 않습니다.

업데이트 실행 및 스테이지 정의

업데이트 애플리케이션을 다른 업데이트 그룹에 순차적으로 정렬하기 위해 업데이트 스테이지를 사용하여 업데이트 실행을 정의할 수 있습니다. 예를 들어 첫 번째 업데이트 단계에서는 테스트 환경 멤버 클러스터를 업데이트하고 두 번째 업데이트 단계에서는 프로덕션 환경 멤버 클러스터를 업데이트할 수 있습니다. 업데이트 스테이지 간에 대기 시간을 지정할 수도 있습니다.

  1. Azure Kubernetes Fleet Manager 리소스에 대한 페이지에서 다중 클러스터 업데이트로 이동합니다. 실행 탭에서 만들기를 선택합니다.

  2. 업데이트 실행의 이름을 입력한 다음 업데이트 시퀀스 유형에 대해 '단계'를 선택합니다.

    업데이트 실행 내에서 단계 모드를 선택하기 위한 Azure Portal 페이지의 스크린샷.

  3. 스테이지 만들기를 선택합니다. 이제 스테이지 이름 및 각 스테이지 후에 대기할 기간을 지정할 수 있습니다.

    단계를 만들고 대기 시간을 정의하기 위한 Azure Portal 페이지의 스크린샷.

  4. 이 스테이지에 포함할 업데이트 그룹을 선택합니다.

    업그레이드 그룹 선택을 보여 주는 단계를 만들기 위한 Azure Portal 페이지의 스크린샷.

  5. 모든 스테이지를 정의한 후 위로 이동 및 아래로 이동 컨트롤을 사용하여 순서를 지정할 수 있습니다.

  6. 업그레이드 범위의 경우 다음 세 가지 옵션 중 하나를 선택할 수 있습니다.

    • 컨트롤 플레인 및 노드 풀 모두에 대한 Kubernetes 버전
    • 클러스터의 컨트롤 플레인에 대해서만 Kubernetes 버전
    • 노드 이미지 버전만

    업데이트 실행을 만들기 위한 Azure Portal 창의 스크린샷. 업그레이드 범위 섹션이 표시됩니다.

    노드 이미지의 경우 다음 옵션을 사용할 수 있습니다.

    • 최신: 업데이트 실행의 모든 AKS 클러스터를 해당 지역의 해당 클러스터에 사용할 수 있는 최신 이미지로 업데이트합니다.
    • 일관성: 업데이트 실행 시 사용 가능한 최신 노드 이미지가 다를 수 있는 여러 지역에 AKS 클러스터가 있을 수 있기 때문입니다(자세한 내용은 릴리스 추적기 확인). 업데이트 실행은 일관성을 위해 이러한 모든 지역에서 최신 공통 이미지를 선택합니다.
  7. 페이지 아래쪽에서 만들기 를 클릭하여 업데이트 실행을 만듭니다. 업데이트 실행을 만들 때마다 스테이지 및 해당 순서를 지정하면 반복적이고 번거로울 수 있습니다. 업데이트 전략은 업데이트 실행을 위해 템플릿을 저장할 수 있도록 하여 이 프로세스를 간소화합니다. 자세한 내용은 업데이트 전략 만들기 및 사용을 참조하세요.

  8. 다중 클러스터 업데이트 메뉴에서 업데이트 실행을 선택하고 시작을 선택합니다.

업데이트 전략을 사용하여 업데이트 실행 만들기

업데이트 실행을 만들려면 매번 단계, 그룹 및 순서를 지정해야 했습니다. 업데이트 전략은 업데이트 실행을 위해 템플릿을 저장할 수 있도록 하여 이 프로세스를 간소화합니다.

참고 항목

동일한 업데이트 전략의 고유한 이름을 사용하여 여러 업데이트 실행을 만들 수 있습니다.

업데이트 전략 만들기: 업데이트 전략을 만드는 두 가지 방법이 있습니다.

  • 방법 1: 업데이트 실행을 만드는 동안 업데이트 전략을 저장할 수 있습니다.

    업데이트 전략으로 저장되는 업데이트 실행 단계를 보여 주는 Azure Portal의 스크린샷.

  • 방법 2: 다중 클러스터 업데이트로 이동하여 전략 탭에서 만들기선택할 수 있습니다.

    업데이트 전략 만들기를 보여 주는 Azure Portal의 스크린샷.

업데이트 전략을 사용하여 업데이트 실행 만들기: 새 후속 업데이트 실행을 만들 때 만든 업데이트 전략을 나중에 참조할 수 있습니다.

새 업데이트 실행 만들기를 보여 주는 Azure Portal의 스크린샷. '기존 전략에서 복사' 단추가 강조 표시됩니다.

업데이트 실행 관리

업데이트 실행을 관리하는 몇 가지 옵션이 있습니다.

  • Fleet 리소스의 다중 클러스터 업데이트 탭에서 시작되지 않음 또는 실패 상태인 업데이트 실행을 시작할 수 있습니다.

    '시작되지 않음' 상태에서 업데이트를 실행하는 방법을 보여 주는 Azure Portal의 스크린샷.

  • 플릿 리소스의 다중 클러스터 업데이트 탭에서 현재 실행 중인 업데이트 실행을 중지할 수 있습니다.

    '실행 중' 상태에서 업데이트 실행을 중지하는 방법을 보여 주는 Azure Portal의 스크린샷

  • 시작되지 않음, 실패 또는 실행 중 상태의 업데이트 실행 내에서 스테이지선택하고 업그레이드를 건너뛸 수 있습니다.

    업데이트 실행의 특정 단계에 대한 업그레이드를 건너뛰는 방법을 보여 주는 Azure Portal의 스크린샷.

    마찬가지로 업데이트 그룹 또는 멤버 클러스터 수준에서도 업그레이드를 건너뛸 수 있습니다.

    자세한 내용은 업데이트 실행 상태에 대한 개념적 개요를 참조 하고 실행/단계/그룹에서 동작 을 건너뜁니다.