이 문서에서는 기존 AKS 노드 풀을 AKS용 Azure Container Linux(ACL)로 이전하는 방법을 알아봅니다. 다음 방법 중 하나를 사용하여 기존 노드를 마이그레이션할 수 있습니다.
- 제자리 OS SKU 마이그레이션: 기존 노드 풀의 OS SKU를 ACL로 변경하면 노드가 자동으로 재이미징됩니다.
- 기존 노드 풀을 제거하고 새 ACL 노드 풀을 추가합니다. 새 ACL 노드 풀을 만들고, 워크로드를 이동하고, 이전 노드 풀을 제거합니다.
Important
AKS에서 Azure ACL(Container Linux) 사용하는 경우 다음 고려 사항 및 제한 사항을 검토해야 합니다.
- ACL은 일반적으로 AKS v1.34부터 사용할 수 있습니다.
- ACL에는 보안 부팅 및 vTPM을 사용하여 신뢰할 수 있는 시작 이 필요합니다. 신뢰할 수 없는 시작 변형은 사용할 수 없습니다.
- Arm64의 ACL에서 Trusted Launch 호환성을 사용하려면 Cobalt 기반(v6) SKU가 필요합니다.
-
NodeImage는None유일하게 지원되는 OS(운영 체제) 업그레이드 채널입니다.Unmanaged및SecurityPatch은(는) 변경할 수 없는/usr디렉터리 때문에 ACL과 호환되지 않습니다. - 아티팩트 스트리밍 은 지원되지 않습니다.
- Pod 샌드박싱 은 지원되지 않습니다.
- CVM(기밀 가상 머신) 은 지원되지 않습니다.
- 1세대 VM은 지원되지 않습니다.
인플레이스 OS SKU 마이그레이션 제한 사항
일반적인 ACL 제한 사항 외에도 다음 사항이 현재 위치 OS SKU 마이그레이션에 특별히 적용됩니다.
- OS SKU 마이그레이션 기능은 PowerShell 또는 Azure Portal을 통해 사용할 수 없습니다.
- OS SKU 마이그레이션 기능은 기존 노드 풀의 이름을 바꾸는 것을 지원하지 않습니다.
- 사용하도록 설정된 노드 풀
UseGPUDedicatedVHD은 OS SKU 마이그레이션을 수행할 수 없습니다. - Windows OS SKU 마이그레이션은 지원되지 않습니다.
사전 요구 사항
- 하나 이상의 Linux 노드 풀이 있는 기존 AKS 클러스터입니다.
- Azure CLI 버전 2.86.0 이상.
az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요. - 프로덕션 클러스터를 마이그레이션하기 전에 개발 또는 스테이징 환경에서 ACL 클러스터를 배포하여 ACL 에서 워크로드가 성공적으로 실행되는지 확인하는 것이 좋습니다.
- 프로덕션 클러스터에서 프로세스를 사용하기 전에 테스트/개발에서 마이그레이션 기능이 작동하는지 확인합니다.
- 마이그레이션 중에 AKS가 VM 간에 Pod를 이동할 수 있도록 Pod에 충분한 PDB(Pod 중단 예산) 가 있는지 확인합니다.
ACL 노드 풀 추가 및 기존 노드 풀 제거
명령을 사용하여 새 ACL 노드 풀을 추가합니다
az aks nodepool add. 새 풀을 시스템 에이전트 풀로 사용할 수 있도록 사용하여--mode System다음 단계에서 원래 노드 풀을 삭제할 수 있습니다.az aks nodepool add \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <new-node-pool-name> \ --os-sku AzureContainerLinux \ --mode System \ --node-count 3예시 출력:
{ "id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/myNewNodePool", "name": "myNewNodePool", "osSku": "AzureContainerLinux", "provisioningState": "Succeeded" }명령을 사용하여 기존 노드 풀을 제거합니다
az aks nodepool delete.az aks nodepool delete \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --name <existing-node-pool-name>
현재 위치 OS SKU 마이그레이션
표준 노드 이미지 업그레이드 프로세스를 통해 클러스터를 롤아웃하는 노드 풀의 OS SKU를 변경하여 기존 Linux 노드 풀을 ACL로 마이그레이션할 수 있습니다. 이 메서드는 새 노드 풀을 만들 필요가 없습니다. 대신 기존 노드 풀이 자동으로 이미지로 다시 설치됩니다.
현재 위치에서 OS SKU 변경 작업을 진행하십시오
Important
ACL에는 신뢰할 수 있는 시작이 필요합니다.
--enable-secure-boot OS SKU로 마이그레이션할 때 --enable-vtpm 및 AzureContainerLinux를 포함해야 합니다. 노드 풀의 VM(가상 머신) 크기도 신뢰할 수 있는 시작을 지원해야 합니다. 현재 VM 크기가 지원하지 않는 경우 마이그레이션하기 전에 지원되는 VM 크기로 노드 풀의 크기를 조정하거나 다시 만들어야 합니다.
az aks nodepool update 명령을 사용하여 노드 풀의 OS SKU를 ACL로 마이그레이션하세요. 이 명령은 노드 풀의 이미지 다시 설치를 트리거하여 OS SKU를 업데이트합니다 AzureContainerLinux. OS SKU 변경은 즉시 업그레이드 작업을 트리거하며 완료하는 데 몇 분 정도 걸립니다.
az aks nodepool update \
--resource-group <resource-group> \
--cluster-name <cluster-name> \
--name <existing-node-pool-name> \
--os-sku AzureContainerLinux \
--enable-secure-boot \
--enable-vtpm
예시 출력:
{
"id": "/subscriptions/xxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/nodePools/nodepool1",
"name": "nodepool1",
"osSku": "AzureContainerLinux",
"provisioningState": "Succeeded"
}
메모
OS SKU 마이그레이션 중에 문제가 발생하면 이전 OS SKU로 롤백할 수 있습니다.
OS SKU 마이그레이션 확인
Tip
프로덕션 클러스터를 마이그레이션하기 전에 몇 주 동안 서비스의 상태를 모니터링하는 것이 좋습니다.
테스트 클러스터에서 마이그레이션이 완료되면 몇 주 동안 클러스터 및 워크로드를 모니터링하여 프로덕션 클러스터를 마이그레이션하기 전에 모든 것이 예상대로 실행되고 있는지 확인하는 것이 좋습니다. 다음 명령을 사용하여 마이그레이션을 확인하고 클러스터를 모니터링합니다.
새 노드가 명령을 사용하여 ACL을 실행하고 있는지 확인합니다
kubectl get nodes -o wide. 출력은 ACL OS 이미지를 표시해야 합니다.kubectl get nodes -o wide명령을 사용하여
kubectl get pods -o wide -A모든 Pod 및 디먼셋이 새 노드 풀에서 실행되고 있는지 확인합니다.kubectl get pods -o wide -Akubectl get nodes --show-labels명령을 사용하여 업그레이드된 노드 풀의 모든 노드 레이블이 예상한 대로인지 확인하세요.kubectl get nodes --show-labels명령을 사용하여 노드 이미지 버전을 확인합니다
az aks nodepool list.az aks nodepool list \ --resource-group <resource-group> \ --cluster-name <cluster-name> \ --query '[].{name: name, osSku: osSku, nodeImageVersion: nodeImageVersion}'예시 출력:
[ { "name": "myNodePool", "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0", "osSku": "AzureContainerLinux" } ]
이전 OS SKU로 되돌리기
OS SKU 마이그레이션 중에 문제가 발생하면 이전 OS SKU로 롤백할 수 있습니다. 이렇게 하려면 OS SKU 필드를 이전 값으로 다시 변경하고 배포를 다시 제출하여 다른 업그레이드 작업을 트리거하고 노드 풀을 이전 OS SKU로 다시 설치합니다. ACL에서 이전 OS SKU로 롤백하는 경우 신뢰할 수 있는 시작을 명시적으로 사용하지 않도록 설정하지 않는 한 노드 풀은 기본적으로 Gen2(신뢰할 수 있는 실행) 이미지 변형을 사용합니다.
az aks nodepool update 명령을 사용하여 이전 OS SKU로 롤백합니다. 이 예제에서는 ACL에서 Azure Linux로 롤백합니다.
az aks nodepool update \
--resource-group <resource-group> \
--cluster-name <cluster-name> \
--name <existing-node-pool-name> \
--os-sku AzureLinux
관련 콘텐츠
ACL에 대한 자세한 내용은 Azure Kubernetes Service(AKS)용 Azure Container Linux(ACL)란? 참조하세요.