Azure Linux 컨테이너 호스트의 패키지 업그레이드 문제 해결
AKS용 Azure Linux 컨테이너 호스트에서는 매일 실행되고 최근에 게시된 업데이트된 패키지를 자동으로 설치하는 시스템 서비스인 dnf-automatic
이 기본적으로 사용됩니다. 따라서 수정 사항이 게시되면 Azure Linux 컨테이너 호스트의 패키지가 자동으로 업데이트됩니다. 노드 OS 업그레이드 채널의 일부 설정에 대해서는, dnf-automatic
이 기본적으로 사용되지 않으므로 유의하세요.
증상
그러나 Azure Linux 컨테이너 호스트의 패키지가 자동 업그레이드를 받지 못하는 경우가 있으며, 이로 인해 다음과 같은 증상이 발생할 수 있습니다.
- 업데이트된 패키지를 참조하거나 사용하는 동안 발생하는 오류 메시지입니다.
- 패키지가 예상대로 작동하지 않습니다.
- Azure Linux 컨테이너 호스트 패키지 목록을 확인할 때 오래된 버전의 패키지가 표시됩니다. packages.microsoft.com의 리포지토리를 방문하거나 Azure Linux GitHub 리포지토리의 릴리스 정보를 확인하여 이미지의 패키지가 최근에 게시된 패키지와 동기화되었는지 확인할 수 있습니다.
원인
Linux 커널과 같은 일부 패키지의 경우 업데이트를 적용하려면 다시 부팅해야 합니다. 자동 다시 부팅을 용이하게 하기 위해 Azure Linux VM은 패키지 업데이트에 다시 부팅이 필요한 경우 /var/run/reboot-required
파일을 만드는 check-restart 서비스를 실행합니다.
솔루션
Kubernetes가 다시 부팅 요청에 따라 작동하도록 하려면 kured daemonset을 설정하는 것이 좋습니다. Kured는 노드에서 /var/run/reboot-required
파일을 모니터링하고 해당 파일이 발견되면 노드에서 작업을 드레이닝하고 다시 부팅합니다.
다음 단계
앞의 단계에서 문제가 해결되지 않으면 지원 티켓을 엽니다.