노드 OS 이미지 자동 업그레이드

AKS는 적시에 노드 수준 OS 보안 업데이트 전용의 여러 자동 업그레이드 채널을 제공합니다. 이 채널은 클러스터 수준 Kubernetes 버전 업그레이드와 다르며 이를 대체합니다.

노드 OS 자동 업그레이드와 클러스터 자동 업그레이드 간의 상호 작용

노드 수준 OS 보안 업데이트는 Kubernetes 패치 또는 부 버전 업데이트보다 빠른 속도로 릴리스됩니다. 노드 OS 자동 업그레이드 채널은 유연성을 제공하고 노드 수준 OS 보안 업데이트를 위한 사용자 지정 전략을 지원합니다. 그런 다음 클러스터 수준 Kubernetes 버전 자동 업그레이드에 대한 별도의 계획을 선택할 수 있습니다. 클러스터 수준 자동 업그레이드와 노드 OS 자동 업그레이드 채널을 함께 사용하는 것이 좋습니다. 클러스터 자동 업그레이드 채널에 대한 유지 관리 기간 - aksManagedAutoUpgradeSchedule과 노드 OS 자동 업그레이드 채널에 대한 aksManagedNodeOSUpgradeSchedule의 두 가지 별도 집합을 적용하여 일정을 세부적으로 조정할 수 있습니다.

노드 OS 이미지 업그레이드를 위한 채널

선택한 채널에 따라 업그레이드 시기가 결정됩니다. 노드 OS 자동 업그레이드 채널을 변경할 때 변경 내용이 적용되는 데 최대 24시간이 걸릴 수 있습니다. 한 채널에서 다른 채널로 변경하면 이미지 다시 설치가 트리거되어 롤링 노드로 연결됩니다.

참고 항목

노드 OS 이미지 자동 업그레이드는 클러스터의 Kubernetes 버전에 영향을 미치지 않습니다. 지원되는 버전의 클러스터에서만 작동합니다.

다음과 같은 채널이 지원됩니다. 다음 옵션 중 하나를 선택할 수 있습니다.

채널 설명 OS별 동작
None 노드에 보안 업데이트가 자동으로 적용되지 않습니다. 즉, 보안 업데이트에 대한 책임은 전적으로 사용자에게 있습니다. 해당 없음
Unmanaged OS 업데이트는 OS 기본 제공 패치 인프라를 통해 자동으로 적용됩니다. 새로 할당된 컴퓨터는 처음에는 패치가 해제됩니다. OS의 인프라는 언젠가 이를 패치합니다. Ubuntu 및 Azure Linux(CPU 노드 풀)는 대략 하루에 한 번씩 오전 6시(UTC)경에 무인 업그레이드/dnf-automatic을 통해 보안 패치를 적용합니다. Windows는 보안 패치를 자동으로 적용하지 않으므로 이 옵션은 None과 동등하게 작동합니다. kured와 같은 도구를 사용하여 재부팅 프로세스를 관리해야 합니다.
SecurityPatch 이 채널은 미리 보기 상태이며 기능 플래그 NodeOsUpgradeChannelPreview를 사용하도록 설정해야 합니다. 자세한 내용은 필수 조건 섹션을 참조하세요. AKS는 정기적으로 노드의 VHD(가상 하드 디스크)를 "보안 전용"이라는 레이블이 지정된 이미지 유지 관리자의 패치로 업데이트합니다. 보안 패치가 노드에 적용될 때 중단이 있을 수 있습니다. 패치가 적용되면 VHD가 업데이트되고 기존 컴퓨터가 해당 VHD로 업그레이드되어 유지 관리 기간과 급증 설정이 적용됩니다. 이 옵션을 사용하면 노드 리소스 그룹에서 VHD를 호스팅하는 데 추가 비용이 발생합니다. 이 채널을 사용하면 Linux 자동 업그레이드가 기본적으로 사용하지 않도록 설정됩니다. Azure Linux는 GPU 지원 VM에서 이 채널을 지원하지 않습니다. SecurityPatch는 Kubernetes 부 버전이 계속 지원되는 한 더 이상 사용되지 않는 패치 버전에서 작동합니다.
NodeImage AKS는 주별 보안 수정 사항과 버그 수정 사항이 포함된 새로 패치된 VHD로 노드를 업데이트합니다. 새 VHD에 대한 업데이트는 유지 관리 기간 및 급증 설정에 따라 중단됩니다. 이 옵션을 선택하면 추가 VHD 비용이 발생하지 않습니다. 이 채널을 사용하면 Linux 자동 업그레이드가 기본적으로 사용하지 않도록 설정됩니다. 노드 이미지 업그레이드는 보조 Kubernetes 버전이 계속 지원되는 한 더 이상 사용되지 않는 패치 버전을 지원합니다.

새 클러스터에서 노드 OS 자동 업그레이드 채널 설정

  • 매개 변수와 함께 --node-os-upgrade-channel 명령을 사용하여 새 클러스터에서 az aks create 노드 OS 자동 업그레이드 채널을 설정합니다. 다음 예제에서는 노드 OS 자동 업그레이드 채널을 .로 SecurityPatch설정합니다.

    az aks create --resource-group myResourceGroup --name myAKSCluster --node-os-upgrade-channel SecurityPatch
    

기존 클러스터에서 노드 OS 자동 업그레이드 채널 설정

  • 매개 변수와 함께 --node-os-upgrade-channel 명령을 사용하여 az aks update 기존 클러스터에서 노드 os 자동 업그레이드 채널을 설정합니다. 다음 예제에서는 노드 OS 자동 업그레이드 채널을 .로 SecurityPatch설정합니다.

    az aks update --resource-group myResourceGroup --name myAKSCluster --node-os-upgrade-channel SecurityPatch
    

소유권 및 일정 업데이트

기본 주기는 계획된 유지 관리 기간이 적용되지 않음을 의미합니다.

채널 업데이트 소유권 기본 주기
Unmanaged OS 기반 보안 업데이트. AKS는 이러한 업데이트를 제어할 수 없습니다. Ubuntu 및 Azure Linux의 경우 오전 6시(UTC)입니다. Windows의 경우 매월.
SecurityPatch AKS에서 테스트하고, 완전히 관리되며, 안전한 배포 사례를 사용하여 적용됩니다. 자세한 내용은 Azure에서 Canonical 워크로드의 보안 및 복원력 향상을 참조하세요. 매주
NodeImage AKS 매주

참고 항목

Windows 보안 업데이트는 매월 릴리스되지만 Unmanaged 채널을 사용하면 Windows 노드에 이러한 업데이트가 자동으로 적용되지 않습니다. Unmanaged 채널을 선택하는 경우 보안 패치를 제대로 적용하기 위해 kured와 같은 도구를 사용하여 재부팅 프로세스를 관리해야 합니다.

SecurityPatch 채널 요구 사항

채널을 사용하려면 클러스터에서 SecurityPatch 다음 요구 사항을 지원해야 합니다.

  • API 버전 11-02-preview 이상을 사용해야 합니다.
  • Azure CLI를 사용하는 경우 aks-preview CLI 확장 버전 0.5.166 이상을 설치해야 합니다.
  • 구독에서 NodeOsUpgradeChannelPreview 기능 플래그를 사용하도록 설정해야 합니다.

NodeOsUpgradeChannelPreview 등록

다음 예제와 같이 az feature register 명령을 사용하여 NodeOsUpgradeChannelPreview 기능 플래그를 등록합니다.

az feature register --namespace "Microsoft.ContainerService" --name "NodeOsUpgradeChannelPreview"

상태가 Registered로 표시되는 데 몇 분 정도 걸립니다. az feature show 명령을 사용하여 등록 상태를 확인합니다.

az feature show --namespace "Microsoft.ContainerService" --name "NodeOsUpgradeChannelPreview"

상태가 등록됨으로 표시되면 az provider register 명령을 사용하여 Microsoft.ContainerService 리소스 공급자의 등록을 새로 고칩니다.

az provider register --namespace Microsoft.ContainerService

노드 채널 알려진 버그

  • 현재 클러스터 자동 업그레이드 채널node-image로 설정하면 노드 OS 자동 업그레이드 채널도 자동으로 NodeImage로 설정됩니다. 클러스터 자동 업그레이드 채널이 node-image인 경우 노드 OS 자동 업그레이드 채널 값을 변경할 수 없습니다. 노드 OS 자동 업그레이드 채널 값을 설정하려면 클러스터 자동 업그레이드 채널 값이 node-image가 아닌지 확인합니다.

  • SecurityPatch 채널은 Windows OS 노드 풀에서 지원되지 않습니다.

참고 항목

기본적으로 API 버전 06-01-2022 이상으로 만들어진 새 클러스터는 노드 OS 자동 업그레이드 채널 값을 NodeImage로 설정합니다. 06-01-2022 이전 API 버전으로 만들어진 기존 클러스터는 기본적으로 노드 OS 자동 업그레이드 채널 값이 None으로 설정됩니다.

노드 OS 계획된 유지 관리 기간

노드 OS 자동 업그레이드에 대한 계획된 유지 관리는 지정된 유지 관리 기간에 시작됩니다.

참고 항목

적절한 기능을 보장하려면 유지 관리 기간을 4시간 이상으로 설정합니다.

계획된 유지 관리에 대한 자세한 내용은 계획된 유지 관리를 사용하여 AKS(Azure Kubernetes Service) 클러스터의 유지 관리 기간 예약을 참조하세요.

노드 OS 자동 업그레이드 FAQ

  • 클러스터에서 현재 nodeOsUpgradeChannel 값을 어떻게 확인할 수 있나요?

az aks show 명령을 실행하고 "autoUpgradeProfile"을 확인하여 nodeOsUpgradeChannel이 어떤 값으로 설정되어 있는지 확인합니다.

az aks show --resource-group myResourceGroup --name myAKSCluster --query "autoUpgradeProfile"
  • 노드 OS 자동 업그레이드 상태를 어떻게 모니터링할 수 있나요?

노드 OS 자동 업그레이드 상태를 보려면 클러스터에서 활동 로그를 찾아보세요. AKS 클러스터 업그레이드에 언급된 대로 특정 업그레이드 관련 이벤트를 찾아볼 수도 있습니다. AKS는 업그레이드 관련 Event Grid 이벤트도 내보냅니다. 자세한 내용은 Event Grid 원본의로서의 AKS를 참조하세요.

  • 내 클러스터 자동 업그레이드 채널이 node-image로 설정된 경우 노드 OS 자동 업그레이드 채널 값을 변경할 수 있나요?

아니요. 현재 클러스터 자동 업그레이드 채널node-image로 설정하면 노드 OS 자동 업그레이드 채널도 자동으로 NodeImage로 설정됩니다. 클러스터 자동 업그레이드 채널이 node-image인 경우 노드 OS 자동 업그레이드 채널 값을 변경할 수 없습니다. 노드 OS 자동 업그레이드 채널 값을 변경하려면 클러스터 자동 업그레이드 채널node-image가 아닌지 확인합니다.

  • Unmanaged 채널에서 SecurityPatch이(가) 권장되는 이유는 무엇인가요?

Unmanaged 채널에서 AKS는 보안 업데이트가 제공되는 방법과 시기를 제어할 수 없습니다. SecurityPatch와(과) 함께 보안 업데이트는 완전히 테스트되고 안전한 배포 사례를 따릅니다. SecurityPatch은(는) 또한 유지 관리 기간을 적용합니다. 자세한 내용은 Azure에서 정식 워크로드의 보안 및 복원력 향상을 참조하세요.

  • SecurityPatch 또는 NodeImage 업그레이드가 노드에 적용되는지 어떻게 알 수 있나요?

다음 명령을 실행하여 노드 레이블을 가져옵니다.

kubectl get nodes --show-labels

반환된 레이블 중에는 다음 출력과 유사한 선이 표시됩니다.

kubernetes.azure.com/node-image-version=AKSUbuntu-2204gen2containerd-202311.07.0

여기서 기본 노드 이미지 버전은 AKSUbuntu-2204gen2containerd입니다. 해당하는 경우 보안 패치 버전은 일반적으로 다음과 같습니다. 위의 예제에서는 202311.07.0입니다.

노드 레이블 보기 아래의 Azure Portal에서도 동일한 세부 정보를 조회합니다.

Azure Portal의 AKS 클러스터에 대한 노드 페이지의 스크린샷. 노드 이미지 버전의 레이블은 기본 노드 이미지와 적용된 최신 보안 패치 날짜를 명확하게 표시합니다.

다음 단계

업그레이드 모범 사례 및 기타 고려 사항에 대한 자세한 내용은 AKS 패치 및 업그레이드 지침을 참조하세요.