Udostępnij za pośrednictwem


Rozwiązywanie typowych problemów z hostem kontenera systemu Linux platformy Azure dla usługi AKS

Ten artykuł zawiera kroki rozwiązywania problemów z niektórymi często zgłaszanych problemów, które mogą wystąpić podczas korzystania z hostów kontenerów systemu Linux platformy Azure w usłudze Azure Kubernetes Service (AKS). Aby uzyskać więcej informacji na temat rozpoczynania pracy z hostami kontenerów systemu Linux platformy Azure w usłudze AKS, zobacz Korzystanie z systemu Linux platformy Azure z usługą AKS.

Zanim rozpoczniesz

Przeczytaj oficjalny przewodnik rozwiązywania problemów z klastrami Kubernetes. Przeczytaj również przewodnik inżyniera firmy Microsoft dotyczący rozwiązywania problemów z platformą Kubernetes. Ten przewodnik zawiera polecenia dotyczące rozwiązywania problemów z zasobnikami, węzłami, klastrami i innymi funkcjami.

Na koniec przejrzyj listę znanych ograniczeń w systemie Azure Linux. Problem, który próbujesz rozwiązać, może być taki, nad którym już pracujemy.

Wymagania wstępne

  • Interfejs wiersza polecenia platformy Azure w wersji 2.31 lub nowszej. Jeśli interfejs wiersza polecenia platformy Azure jest już zainstalowany, możesz znaleźć numer wersji, uruchamiając polecenie az --version.

Informacje o hoście kontenera systemu Linux platformy Azure dla usługi AKS

Azure Linux to dystrybucja systemu Linux typu open source utworzona przez firmę Microsoft. Jako lekki system operacyjny Azure Linux ma następujące funkcje:

  • Zawiera tylko pakiety potrzebne do uruchamiania obciążeń kontenerów
  • Przechodzi testy weryfikacji platformy Azure
  • Jest zgodny z agentami platformy Azure

Host kontenera systemu Linux dla usługi AKS to obraz systemu operacyjnego dla usługi AKS zoptymalizowany pod kątem uruchamiania obciążeń kontenerów. Jest ona utrzymywana przez firmę Microsoft i oparta na systemie Linux na platformie Azure. Zapewnia niezawodność i spójność z chmury do krawędzi w usługach AKS, AKS w usłudze Azure Stack HCI i produktach Azure Arc. Hosty kontenerów systemu Linux platformy Azure umożliwiają wykonywanie następujących procesów:

  • Wdrażanie pul węzłów systemu Linux platformy Azure w nowym klastrze.
  • Dodaj pule węzłów systemu Linux platformy Azure do istniejących klastrów ubuntu.
  • Migrowanie węzłów systemu Ubuntu do węzłów systemu Linux platformy Azure.

Aby uzyskać więcej informacji na temat systemu Linux platformy Azure, zobacz repozytorium GitHub platformy Azure dla systemu Linux .

Lista kontrolna rozwiązywania problemów

Krok 1. Przeglądanie równoważnych poleceń w systemach Ubuntu i Azure Linux

Większość poleceń w systemie operacyjnym Azure Linux, takich jak polecenie stanu procesu (ps) przypomina polecenia używane w systemie Ubuntu. Jednak zarządzanie pakietami odbywa się za pomocą polecenia Tiny DNF (tdnf). W poniższej tabeli wymieniono niektóre typowe polecenia w systemie Ubuntu i ich odpowiedniki w systemie Azure Linux.

Ubuntu , polecenie Sugerowane polecenie platformy Azure dla systemu 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 (bez dokładnego odpowiednika ; przeczytajPlik pakietów w folderze /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

Krok 2. Sprawdzanie wersji systemu Linux platformy Azure

Upewnij się, że używasz poprawnej wersji platformy Azure dla systemu Linux. Obsługiwana wersja platformy Azure dla systemu Linux do użycia to Azure Linux 2.0. W danych wyjściowych następującego polecenia osSKU az aks nodepool list właściwość powinna odczytać AzureLinux.

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

Mimo że to polecenie może nie rozwiązać problemu występującego, przechowywanie wersji jest typowym problemem dla użytkowników, którzy zgłaszają, że agenci lub rozszerzenia nie działają poprawnie w systemie Azure Linux.

Krok 3. Zrozumienie różnicy w ścieżkach plików certyfikatu

System Azure Linux (i inne dystrybucje RPM) przechowuje certyfikaty inaczej niż Ubuntu.

W systemie Linux ścieżka /etc/ssl/certs jest łączem symbolicznym do /etc/pki/tls/certs. Jeśli kontener oczekuje mapowania /etc/ssl/certs do korzystania z pliku certyfikatu ca-certificates.crt w systemie Azure Linux, kontener zamiast tego otrzymuje link symboliczny, który wskazuje nigdzie. To zachowanie powoduje błędy związane z certyfikatem w kontenerze. Kontener musi również mapować /etc/pki , aby kontener mógł podążać za łańcuchem łączy symbolicznych. Jeśli kontener musi działać zarówno na hostach Ubuntu, jak i Azure Linux, można mapować /etc/pki przy użyciu DirectoryOrCreate typu w woluminie hostPath.

Krok 4. Aktualizowanie interfejsu wiersza polecenia platformy Azure i rozszerzenia usługi AKS w wersji zapoznawczej

Jeśli spróbujesz wdrożyć klaster usługi Azure Linux AKS przy użyciu interfejsu wiersza polecenia platformy Azure, może zostać wyświetlony komunikat o błędzie informujący, że AzureLinux opcja nie jest obsługiwana dla parametru OSSku . Ten komunikat oznacza, że może być używana nieaktualna wersja interfejsu wiersza polecenia platformy Azure lub rozszerzenie usługi AKS w wersji zapoznawczej. Aby rozwiązać ten problem, wykonaj jedną lub obie z następujących dwóch akcji:

  • Jeśli interfejs wiersza polecenia platformy Azure nie jest aktualny, zainstaluj najnowszą wersję. Aby uaktualnić interfejs wiersza polecenia platformy Azure, uruchom następujące polecenie az upgrade :

    az upgrade
    
  • Jeśli masz zainstalowaną starszą wersję rozszerzenia, zainstaluj nowszą wersję aks-preview , aby OSSku parametr miał wartość AzureLinux. Aby uaktualnić rozszerzenie, uruchom następujące polecenie az extension update :

    az extension update --name aks-preview
    

Zastrzeżenie dotyczące innych firm

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.

Wyłączenie odpowiedzialności za kontakty z osobami trzecimi

Firma Microsoft udostępnia informacje kontaktowe innych firm, aby uzyskać dodatkowe informacje na temat tego tematu. Informacje te mogą zostać zmienione bez powiadomienia. Firma Microsoft nie gwarantuje dokładności informacji kontaktowych innych firm.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.