자습서: Azure Linux 컨테이너 호스트 노드 업그레이드
Azure Linux 컨테이너 호스트는 업데이트된 Azure Linux 노드 이미지와 자동 패키지 업데이트라는 두 가지 메커니즘을 통해 업데이트를 제공합니다.
애플리케이션 및 클러스터 수명 주기의 일환으로, 클러스터에 대한 업그레이드를 사용하도록 설정하여 클러스터를 최신 상태로 유지하고 보호하는 것이 좋습니다. 클러스터가 스케일 업될 때 최신 Azure Linux 컨테이너 호스트 이미지를 사용하도록 자동 노드 이미지 업그레이드를 사용하도록 설정할 수 있습니다. 클러스터에서 노드 이미지를 수동으로 업그레이드할 수도 있습니다.
5부 중 5부인 이 자습서에서는 다음 방법을 알아봅니다.
- 클러스터에서 노드 이미지를 수동으로 업그레이드합니다.
- Azure Linux 컨테이너 호스트 클러스터를 자동으로 업그레이드합니다.
- Azure Linux 컨테이너 호스트 클러스터에 Kured를 배포합니다.
참고 항목
수동으로 수행하든 자동으로 수행하든 업그레이드 작업은 노드 이미지가 아직 최신 버전이 아닌 경우 해당 버전을 업그레이드합니다. 최신 버전은 전체 AKS 릴리스에 따라 결정되며 AKS 릴리스 추적기를 방문하여 확인할 수 있습니다.
필수 조건
- 이전 자습서에서는 Azure Linux 컨테이너 호스트 클러스터를 만들고 배포했습니다. 이 자습서를 완료하려면 기존 클러스터가 필요합니다. 이 단계를 수행하지 않고 계속 진행하려면 자습서 1: AKS용 Azure Linux 컨테이너 호스트를 사용하여 클러스터 만들기부터 시작합니다.
- 최신 버전의 Azure CLI가 필요합니다.
az --version
명령을 사용하여 버전을 확인합니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.
수동으로 클러스터 업그레이드
클러스터에서 노드 이미지를 수동으로 업그레이드하려면 az aks nodepool upgrade
를 실행하면 됩니다.
az aks nodepool upgrade \
--resource-group testAzureLinuxResourceGroup \
--cluster-name testAzureLinuxCluster \
--name myAzureLinuxNodepool \
--node-image-only
자동으로 클러스터 업그레이드
자동 업그레이드는 확실한 시간 및 운영 비용 이점을 제공하는 한 번만 설정하면 되는 메커니즘을 제공합니다. 자동 업그레이드를 사용하도록 설정하여 클러스터를 최신 상태로 유지하고 AKS 및 업스트림 Kubernetes의 최신 Azure Linux 컨테이너 호스트 기능 또는 패치를 놓치지 않도록 할 수 있습니다.
자동으로 완료된 업그레이드는 기능적으로 수동 업그레이드와 동일합니다. 선택한 채널에 따라 업그레이드 시기가 결정됩니다. 자동 업그레이드를 변경할 때 변경 내용이 적용되도록 24시간을 허용합니다.
기존 클러스터에서 자동 업그레이드 채널을 설정하려면 이전 부 버전의 지원되는 최신 패치 릴리스로 클러스터를 자동으로 업그레이드하는 다음 예제와 유사하게 --auto-upgrade-channel
매개 변수를 업데이트합니다.
az aks update --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster --auto-upgrade-channel stable
업그레이드 채널에 대한 자세한 내용은 클러스터 자동 업그레이드 사용을 참조하세요.
자동 패키지 업그레이드 사용
클러스터를 자동 업그레이드로 설정하는 것과 마찬가지로 node-os 업그레이드 채널을 사용하도록 설정하여 동일한 집합을 한 번 사용하고 패키지 업그레이드 메커니즘을 잊어버릴 수 있습니다. 자동 패키지 업그레이드를 사용하도록 설정하면 dnf-automatic
systemd 서비스가 매일 실행되고 게시된 업데이트된 패키지를 설치합니다.
기존 클러스터에서 node-os 업그레이드 채널을 설정하려면 패키지 업그레이드를 자동으로 사용하도록 설정하는 다음 예제와 마찬가지로 --node-os-upgrade-channel
매개 변수를 업데이트합니다.
az aks update --resource-group testAzureLinuxResourceGroup --name testAzureLinuxCluster --node-os-upgrade-channel Unmanaged
자동 다시 부팅 디먼 사용
클러스터를 보호하기 위해 보안 업데이트가 Azure Linux 노드에 자동으로 적용됩니다. 이러한 업데이트에는 OS 보안 수정, 커널 업데이트 및 패키지 업그레이드가 포함됩니다. 이러한 업데이트의 일부는 프로세스를 완료하도록 노드를 다시 부팅해야 합니다. AKS는 업데이트 프로세스를 완료하기 위해 이러한 노드를 자동으로 다시 부팅하지 않습니다.
클러스터에서 커널 업데이트를 수행한 노드를 다시 부팅할 수 있도록 Kured와 같은 자동 다시 부팅 디먼을 사용하도록 설정하는 것이 좋습니다. Azure Linux 컨테이너 호스트 클러스터에 Kured DaemonSet을 배포하려면 AKS 클러스터에 kured 배포를 참조하세요.
리소스 정리
이 자습서는 시리즈의 마지막 부분이므로 Azure Linux 컨테이너 호스트 클러스터를 삭제할 수 있습니다. Kubernetes 노드는 Azure Virtual Machines에서 실행되며 클러스터를 사용하지 않는 경우에도 요금이 계속 부과됩니다. az group delete
명령을 사용하여 리소스 그룹 및 모든 관련 리소스를 제거합니다.
az group delete --name testAzureLinuxCluster --yes --no-wait
다음 단계
이 자습서에서는 Azure Linux 컨테이너 호스트 클러스터를 업그레이드했습니다. 다음 방법에 대해 알아보았습니다.
- 클러스터에서 노드 이미지를 수동으로 업그레이드합니다.
- Azure Linux 컨테이너 호스트 클러스터를 자동으로 업그레이드합니다.
- Azure Linux 컨테이너 호스트 클러스터에 kured를 배포합니다.
Azure Linux 컨테이너 호스트에 대한 자세한 내용은 Azure Linux 컨테이너 호스트 개요를 참조하세요.