Udostępnij za pośrednictwem


Weryfikowanie połączenia z rejestrem kontenerów

Ten artykuł jest częścią serii. Zacznij od omówienia.

Aby pomyślnie wdrożyć konteneryzowane aplikacje w klastrze usługi Azure Kubernetes Service (AKS), należy zweryfikować łączność między klastrem a rejestrem kontenerów. Ten krok gwarantuje, że węzły procesu roboczego mają niezbędne uprawnienia do ściągania wymaganych obrazów kontenerów z rejestru.

Identyfikowanie objawów

Gdy narzędzie kubelet uruchamiane w węźle agenta tworzy kontenery dla zasobnika, co najmniej jeden kontener może skończyć się w stanie oczekiwania z powodu błędu ImagePullBackOff . ImagePullBackoff to typowy komunikat o błędzie w rozwiązaniu Kubernetes wskazujący, że nie można ściągnąć wymaganego obrazu kontenera z rejestru publicznego lub prywatnego. Różne czynniki mogą powodować ten błąd, w tym problemy z łącznością sieciową, nieprawidłową nazwę obrazu lub tag, niewystarczające uprawnienia lub brakujące poświadczenia.

Część BackOff stanu oznacza, że platforma Kubernetes stale próbuje ściągnąć obraz z rosnącym opóźnieniem między poszczególnymi kolejnymi próbami. Opóźnienie stopniowo wzrasta do momentu osiągnięcia wstępnie określonego limitu, który jest zwykle ustawiony na 300 sekund (5 minut) na platformie Kubernetes.

Ważne jest, aby dokładnie sprawdzić nazwę rejestru i obrazu pod kątem dokładności. Ponadto upewnij się, że klaster usługi AKS ma niezbędne uprawnienia do ściągania obrazów z odpowiedniego rejestru kontenerów.

Przypisania ról

Po dołączeniu rejestru kontenerów do istniejącego klastra usługi AKS rola AcrPull zostanie automatycznie przypisana do rejestru do tożsamości zarządzanej firmy Microsoft Entra skojarzonej z pulami agentów w klastrze usługi AKS. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie za pomocą usługi Container Registry z usługi AKS.

Uruchom następujące polecenie, aby pobrać tożsamość zarządzaną kubelet klastra Kubernetes i jego bieżące przypisania ról:

# Get the kubelet managed identity.
ASSIGNEE=$(az aks show -g $RESOURCE_GROUP -n $NAME --query identityProfile.kubeletidentity.clientId -o tsv)
az role assignment list --assignee $ASSIGNEE --all -o table

Uruchom następujące polecenie, aby przypisać AcrPull rolę do tożsamości zarządzanej kubelet:

AZURE_CONTAINER_REGISTRY_ID=$(az acr show --name <container-registry-name> --query id --output tsv)
az role assignment create --assignee $ASSIGNEE --scope $AZURE_CONTAINER_REGISTRY_ID --role acrpull

Rozwiązywanie problemów z usługą Container Registry

Poniższe sekcje zawierają przewodniki, które można znaleźć w przypadku napotkania problemów z siecią, logowaniem lub wydajnością w rejestrze kontenerów platformy Azure.

Rozwiązywanie problemów z siecią

Jeśli wystąpią problemy związane z uzyskiwaniem dostępu do rejestru kontenerów platformy Azure w sieci wirtualnej lub za zaporą lub serwerem proxy, rozważ następujące rozwiązania:

Rozwiązywanie problemów z logowaniem

Jeśli podczas logowania się do rejestru kontenerów platformy Azure wystąpią problemy z uwierzytelnianiem i autoryzacją, rozważ następujące rozwiązania:

Rozwiązywanie problemów z wydajnością

Jeśli wystąpią problemy z wydajnością w rejestrze kontenerów platformy Azure, rozważ następujące rozwiązania:

Te przewodniki mogą pomóc w zapewnieniu bezproblemowego pobierania obrazów dla klastra usługi AKS i zapewnienia bezproblemowego działania obciążeń.

Integrowanie rejestru kontenerów innej firmy

W przypadku korzystania z rejestru kontenerów innej firmy należy utworzyć odpowiednie ImagePullSecret poświadczenia dla rejestru, aby klaster usługi AKS mógł bezpiecznie uzyskiwać dostęp do obrazów kontenerów. Aby uzyskać więcej informacji, zobacz Tworzenie wpisu tajnego ściągania obrazu. Upewnij się, że skonfigurowano odpowiednie uprawnienia i poświadczenia, aby można było zweryfikować połączenie z rejestrem kontenerów i umożliwić klastrowi usługi AKS pomyślne ściąganie wymaganych obrazów kontenerów podczas wdrożeń. To najlepsze rozwiązanie pomaga zapewnić bezproblemowe i niezawodne wykonywanie konteneryzowanych obciążeń na platformie Kubernetes.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Autorzy zabezpieczeń:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki