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
, abyOSSku
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.