다음을 통해 공유


AKS(Azure Kubernetes Service)의 NAP(노드 자동 프로비저닝)에 대한 노드 이미지 업데이트

이 문서에서는 작동 방식, 권장 유지 관리 기간 및 시작하기 위한 예제를 포함하여 AKS(Azure Kubernetes Service)의 NAP(노드 자동 프로비저닝)에 대한 노드 이미지 업데이트에 대한 개요를 제공합니다.

노드 이미지 업데이트는 노드 자동 프로비저닝 노드에서 어떻게 작동합니까?

기본적으로 NAP 노드 풀 VM(가상 머신)은 새 이미지 버전을 사용할 수 있을 때 자동으로 업데이트됩니다. AKS 관리형 OS(노드 운영 체제) 업그레이드 일정 유지 관리 기간을 구성하여 새 이미지가 NAP 노드에 선택되고 적용되는 시기를 제어하거나 Karpenter 노드 중단 예산 및 Pod 중단 예산을 사용하여 업그레이드 중에 중단이 발생하는 방법과 시기를 제어할 수 있습니다.

비고

NAP는 기존 노드 이미지 버전이 90일보다 오래된 경우 최신 이미지 버전을 강제로 선택합니다. 이렇게 하면 기존 유지 관리 기간이 무시됩니다.

NAP에 대한 노드 OS 업그레이드 유지 관리 기간

노드 OS 자동 업그레이드 채널에서 AKS 계획된 유지 관리 기능을 사용하여 지정된 노드 OS 자동 업그레이드 채널 에서 예약된 노드 OS 보안 패치를 수행할 시기를 제어하는 유지 관리 기간을 구성할 aksManagedNodeOSUpgradeSchedule 수 있습니다.

노드 OS 업그레이드 유지 보수 창의 동작 및 고려 사항

NAP에 대한 노드 OS 업그레이드 유지 관리 기간을 구성할 때 다음 정보를 유의하세요.

  • 유지 관리 구성은 aksManagedNodeOSUpgradeSchedule를 통해 NAP가 새 이미지를 받아들이는 기간을 결정합니다. 이 구성은 기존 노드가 중단되는 시기를 반드시 결정하지는 않습니다.
  • 업그레이드 메커니즘 및 의사 결정 기준은 NAP/Karpenter와 관련이 있으며 NAP의 드리프트 논리에 의해 평가됩니다. NAP는 Karpenter 노드 중단 예산 및 Pod 중단 예산을 존중합니다. 드리프트에 대한 자세한 내용은 Karpenter 드리프트 설명서를 참조하세요.
  • 이러한 NAP 업그레이드 결정은 클러스터NodeImage와 채널SecurityPatch과는 별개입니다. 그러나 aksManagedNodeOSUpgradeSchedule 유지 관리 구성도 이들을 적용합니다.
  • 신뢰할 수 있는 작업을 위해 4시간 이상의 유지 관리 기간을 사용하는 것이 좋습니다.
  • 유지 관리 구성이 없는 경우 AKS는 대체 일정을 사용하여 새 이미지를 선택할 수 있으며, 이로 인해 예기치 않은 시간에 이미지가 선택될 수 있습니다. 명시적 aksManagedNodeOSUpgradeSchedule이미지를 정의하여 새 이미지 및 업그레이드의 예기치 않은 타이밍을 방지할 수 있습니다.
  • AKS가 새 구성을 조정할 시간이 있는지 확인하기 위해 유지 관리 구성을 만들거나 업데이트하는 것과 예약된 시작 시간 사이에 30분 이상 허용합니다.

NAP 관리 노드에는 다음 일정 패턴을 사용하는 것이 좋습니다.

  • 주간 주기: 일상적인 노드 이미지 롤아웃에 권장됩니다(예: 매주 일요일).

노드 OS 유지 관리 일정 예제 만들기

다음 섹션에서는 Azure CLI 및 JSON 구성 파일을 사용하여 NAP 관리 노드에 대한 주간 유지 관리 기간을 만드는 방법과 유지 관리 구성을 업데이트, 보기, 나열 및 삭제하는 방법을 보여 줍니다.

유지 관리 구성 만들기

  1. 주간 유지 관리 기간(예: nodeosMaintenance.json)으로 명명된 JSON 파일을 만듭니다.

    {
      "properties": {
        "maintenanceWindow": {
          "durationHours": 4,
          "schedule": {
            "weekly": {
              "intervalWeeks": 1,
              "dayOfWeek": "Sunday"
            }
          },
          "startDate": "2025-01-01",
          "startTime": "01:00",
          "utcOffset": "+00:00"
        }
      }
    }
    
  2. 명령을 사용하여 클러스터에 유지 관리 구성을 추가합니다 az aks maintenanceconfiguration add .

    az aks maintenanceconfiguration add \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule \
      --config-file ./nodeosMaintenance.json
    

유지 관리 구성 업데이트, 보기, 나열 또는 삭제

다음 명령을 사용하여 NAP 관리 노드에 대한 유지 관리 구성을 업데이트, 보기, 나열 또는 삭제할 수 있습니다.

  • JSON 파일을 수정한 다음 명령을 실행하여 유지 관리 구성을 업데이트합니다 az aks maintenanceconfiguration update .

    az aks maintenanceconfiguration update \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule \
      --config-file ./nodeosMaintenance.json
    
  • 명령을 사용하여 유지 관리 구성의 세부 정보를 봅니다 az aks maintenanceconfiguration show .

    az aks maintenanceconfiguration show \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule
    
  • 명령을 사용하여 클러스터에 대한 모든 유지 관리 구성을 나열합니다 az aks maintenanceconfiguration list .

    az aks maintenanceconfiguration list \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME
    
  • 명령을 사용하여 유지 관리 구성을 삭제합니다 az aks maintenanceconfiguration delete .

    az aks maintenanceconfiguration delete \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --name aksManagedNodeOSUpgradeSchedule
    

자세한 내용, 예제 및 고급 시나리오는 계획된 유지 관리를 사용하여 AKS 클러스터에 대한 유지 관리 기간을 예약하는 방법을 참조하세요.

NAP를 위한 Karpenter 노드 중단 예산 및 Pod 중단 예산

NAP에 대한 Karpenter 노드 중단 예산 및 Pod 중단 예산을 구성하는 방법에 대한 자세한 내용은 공식 Karpenter 설명서의 다음 리소스를 참조하세요.

다음 단계

AKS의 노드 자동 프로비저닝에 대한 자세한 내용은 다음 문서를 참조하세요.