다음을 통해 공유


AKS용 Azure Linux 컨테이너 호스트의 일반적인 문제 해결

이 문서에서는 AKS(Azure Kubernetes Service)에서 Azure Linux 컨테이너 호스트를 사용할 때 발생할 수 있는 자주 보고된 문제 중 일부에 대한 문제 해결 단계를 제공합니다. AKS에서 Azure Linux 컨테이너 호스트 사용을 시작하는 방법에 대한 자세한 내용은 AKS에서 Azure Linux 사용을 참조하세요.

시작하기 전에

Kubernetes 클러스터 문제 해결을 위한 공식 가이드를 읽어보세요. 또한 Kubernetes 문제 해결에 대한 Microsoft 엔지니어의 가이드를 읽어보세요. 이 가이드에는 Pod, 노드, 클러스터 및 기타 기능 문제를 해결하기 위한 명령이 포함되어 있습니다.

마지막으로 Azure Linux에서 알려진 제한 사항 목록을 검토합니다. 해결하려는 문제는 이미 작업 중인 문제일 수 있습니다.

필수 조건

  • Azure CLI, 버전 2.31 이상. Azure CLI가 이미 설치된 경우 실행 az --version하여 버전 번호를 찾을 수 있습니다.

AKS용 Azure Linux 컨테이너 호스트 정보

Azure Linux는 Microsoft에서 만든 오픈 소스 Linux 배포판입니다. 경량 OS인 Azure Linux에는 다음과 같은 기능이 있습니다.

  • 컨테이너 워크로드를 실행하는 데 필요한 패키지만 포함합니다.
  • Azure 유효성 검사 테스트를 거칩니다.
  • Azure 에이전트와 호환됩니다.

AKS용 Azure Linux 컨테이너 호스트는 컨테이너 워크로드를 실행하는 데 최적화된 AKS의 운영 체제 이미지입니다. Microsoft에서 유지 관리하며 Azure Linux를 기반으로 합니다. AKS, Azure Stack HCIAKS 및 Azure Arc 제품에 걸쳐 클라우드에서 에지로 안정성과 일관성을 제공합니다. Azure Linux 컨테이너 호스트를 사용하여 다음 프로세스를 수행할 수 있습니다.

  • 새 클러스터에 Azure Linux 노드 풀을 배포합니다.
  • 기존 Ubuntu 클러스터에 Azure Linux 노드 풀을 추가합니다.
  • Ubuntu 노드를 Azure Linux 노드로 마이그레이션합니다.

Azure Linux에 대한 자세한 내용은 Azure Linux GitHub 리포지토리를 참조하세요.

문제 해결 검사 목록

1단계: Ubuntu 및 Azure Linux에서 해당 명령 검토

프로세스 상태(ps) 명령과 같은 Azure Linux OS의 대부분의 명령은 Ubuntu에서 사용되는 명령과 유사합니다. 그러나 패키지 관리는 Tiny DNF(tdnf) 명령을 사용하여 수행됩니다. 다음 표에는 Ubuntu의 몇 가지 일반적인 명령과 Azure Linux의 해당 명령이 나와 있습니다.

Ubuntu 명령 제안된 Azure Linux 명령
apt -- list installed rpm -qa
apt autoclean tdnf clean all
apt autoremove dnf autoremove
apt dist-upgrade dnf distro-sync
apt download tdnf download
apt install tdnf install
apt install --reinstall tdnf reinstall
apt list - upgradable dnf list updates
apt remove tdnf remove
apt search tdnf search
apt show tdnf list
apt upgrade tdnf upgrade
apt cache dump tdnf list available
apt-cache dumpavail tdnf list available
apt-cache policy tdnf list
apt-cache rdepends dnf repoquery -- alldeps - whatrequires
apt-cache search tdnf search
apt-cache show tdnf info
apt-cache stats (정확히 동등한 항목은 없습니다./var/lib/rpm 폴더의 패키지 파일)
apt-config shell dnf shell
apt-file list dnf repoquery -l
apt-file search tdnf provides
apt-get autoremove dnf autoremove
apt-get install tdnf install
apt-get remove tdnf remove
apt-get update dnf clean expire-cache dnf check-update
apt-mark auto tdnf install dnf mark remove
apt-mark manual dnf mark install
apt-mark showmanual dnf history userinstalled

2단계: Azure Linux 버전 확인

올바른 버전의 Azure Linux를 사용하고 있는지 확인합니다. 사용할 수 있는 Azure Linux 버전은 Azure Linux 2.0입니다. 다음 az aks nodepool list 명령의 출력에서 속성은 osSKUAzureLinux어야 합니다.

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name>

이 명령은 발생하는 문제를 해결하지 못할 수도 있지만, 에이전트 또는 확장이 Azure Linux에서 제대로 작동하지 않는다고 보고하는 사용자에게는 버전 관리가 일반적인 문제입니다.

3단계: 인증서 파일 경로의 차이점 이해

Azure Linux(및 기타 RPM 배포판)는 인증서를 Ubuntu와 다르게 저장합니다.

Azure Linux에서 /etc/ssl/certs 경로는 /etc/pki/tls/certs에 대한 기호 링크입니다. 컨테이너가 Azure Linux에서 ca-certificates.crt 인증서 파일을 사용하도록 /etc/ssl/certs를 매핑해야 하는 경우 컨테이너는 아무 데도 가리키지 않는 기호 링크를 가져옵니다. 이 동작으로 인해 컨테이너에서 인증서 관련 오류가 발생합니다. 컨테이너가 기호 링크 체인을 따를 수 있도록 컨테이너는 /etc/pki를 매핑해야 합니다. 컨테이너가 Ubuntu 및 Azure Linux 호스트 모두에서 작동해야 하는 경우 hostPath 볼륨DirectoryOrCreate 형식을 사용하여 /etc/pki매핑할 수 있습니다.

4단계: Azure CLI 및 AKS 미리 보기 확장 업데이트

Azure CLI를 사용하여 Azure Linux AKS 클러스터를 배포하려고 하면 매개 변수에 대해 OSSku 옵션이 지원되지 않는다는 오류 메시지가 AzureLinux 표시될 수 있습니다. 이 메시지는 오래된 버전의 Azure CLI 또는 AKS 미리 보기 확장을 사용할 수 있음을 의미합니다. 이 문제를 해결하려면 다음 두 작업 중 하나 또는 둘 다를 수행합니다.

  • Azure CLI가 최신 버전이 아닌 경우 최신 버전을 설치합니다. Azure CLI를 업그레이드하려면 다음 az upgrade 명령을 실행합니다.

    az upgrade
    
  • 이전 버전의 확장이 aks-preview 설치된 경우 매개 변수 값AzureLinuxOSSku 되도록 최신 버전을 설치합니다. 확장을 업그레이드하려면 다음 az extension update 명령을 실행합니다.

    az extension update --name aks-preview
    

타사 정보 고지 사항

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.

타사 연락처 고지

이 문서에 포함된 타사의 연락처 정보는 이 항목에 대한 추가 정보를 찾는 데 도움을 주기 위한 것입니다. 이 연락처 정보는 공지 없이 변경될 수 있습니다. Microsoft는 타사 연락처 정보의 정확성을 보증하지 않습니다.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.