Omówienie agenta Kubernetes z obsługą usługi Azure Arc
Platforma Kubernetes z obsługą usługi Azure Arc zapewnia scentralizowaną, spójną płaszczyznę sterowania umożliwiającą zarządzanie zasadami, ładem i zabezpieczeniami w klastrach Kubernetes w różnych środowiskach.
Agenci usługi Azure Arc są wdrażani w klastrach Kubernetes podczas łączenia ich z usługą Azure Arc. Ten artykuł zawiera omówienie tych agentów.
Wdrażanie agentów w klastrze
Większość lokalnych centrów danych wymusza ścisłe reguły sieci, które uniemożliwiają komunikację przychodzącą w zaporze granic sieci. Platforma Kubernetes z obsługą usługi Azure Arc współpracuje z tymi ograniczeniami, nie wymagając portów przychodzących w zaporze. Agenci usługi Azure Arc wymagają komunikacji wychodzącej z zestawem punktów końcowych sieci.
Ten diagram zawiera ogólny widok składników usługi Azure Arc. Klastry Kubernetes w lokalnych centrach danych lub różnych chmurach są połączone z platformą Azure za pośrednictwem agentów usługi Azure Arc. To połączenie umożliwia zarządzanie klastrami na platformie Azure przy użyciu narzędzi do zarządzania i usług platformy Azure. Dostęp do klastrów można również uzyskać za pośrednictwem narzędzi do zarządzania w trybie offline.
Następujące ogólne kroki są związane z łączeniem klastra Kubernetes z usługą Azure Arc:
Utwórz klaster Kubernetes w wybranej infrastrukturze (VMware vSphere, Amazon Web Services, Google Cloud Platform lub dowolnej certyfikowanej dystrybucji Kubernetes Cloud Computing Foundation (CNCF). Klaster musi już istnieć przed nawiązaniem połączenia z usługą Azure Arc.
Uruchom rejestrację usługi Azure Arc dla klastra. Ten proces umożliwia wdrożenie wykresu helm agenta w klastrze. Następnie węzły klastra inicjują komunikację wychodzącą z usługą Microsoft Container Registry, ściągając obrazy potrzebne do utworzenia następujących agentów w
azure-arc
przestrzeni nazw:Agent opis deployment.apps/clusteridentityoperator
Platforma Kubernetes z obsługą usługi Azure Arc obecnie obsługuje tylko tożsamości przypisane przez system. clusteridentityoperator
inicjuje pierwszą komunikację wychodzącą. Ta pierwsza komunikacja pobiera certyfikat tożsamości usługi zarządzanej (MSI) używany przez innych agentów do komunikacji z platformą Azure.deployment.apps/config-agent
Obserwuje połączony klaster pod kątem zasobów konfiguracji kontroli źródła zastosowanych w klastrze. Aktualizuje stan zgodności. deployment.apps/controller-manager
Operator operatorów, który organizuje interakcje między składnikami usługi Azure Arc. deployment.apps/metrics-agent
Zbiera metryki innych agentów usługi Arc w celu zweryfikowania optymalnej wydajności. deployment.apps/cluster-metadata-operator
Zbiera metadane klastra, w tym wersję klastra, liczbę węzłów i wersję agenta usługi Azure Arc. deployment.apps/resource-sync-agent
Synchronizuje wymienione powyżej metadane klastra z platformą Azure. deployment.apps/flux-logs-agent
Zbiera dzienniki z operatorów Flux wdrożonych w ramach konfiguracji kontroli źródła. deployment.apps/extension-manager
Instaluje i zarządza cyklem życia rozszerzeń chart programu Helm. deployment.apps/kube-aad-proxy
Służy do uwierzytelniania żądań wysyłanych do klastra przy użyciu połączenia klastra. deployment.apps/clusterconnect-agent
Odwrotny agent proxy, który umożliwia funkcji łączenia klastra w celu zapewnienia dostępu do apiserver
klastra. Składnik opcjonalny wdrożony tylko wtedy, gdy funkcja łączenia klastra jest włączona.deployment.apps/guard
Serwer elementów webhook uwierzytelniania i autoryzacji używany dla kontroli dostępu opartej na rolach firmy Microsoft. Składnik opcjonalny wdrożony tylko wtedy, gdy kontrola dostępu oparta na rolach platformy Azure jest włączona w klastrze. Gdy wszystkie zasobniki agenta Kubernetes z włączoną usługą Azure Arc są w
Running
stanie, sprawdź, czy klaster jest połączony z usługą Azure Arc. Powinny zostać wyświetlone następujące informacje:- Zasób Kubernetes z obsługą usługi Azure Arc w usłudze
connectedClusters
Azure Resource Manager. Platforma Azure śledzi ten zasób jako projekcję klastra Kubernetes zarządzanego przez klienta, zamiast śledzenia rzeczywistego klastra Kubernetes. - Metadane klastra (takie jak wersja platformy Kubernetes, wersja agenta i liczba węzłów) są wyświetlane w zasobie Kubernetes z obsługą usługi Azure Arc jako metadane.
- Zasób Kubernetes z obsługą usługi Azure Arc w usłudze
Aby uzyskać więcej informacji na temat wdrażania agentów w klastrze, zobacz Szybki start: łączenie istniejącego klastra Kubernetes z usługą Azure Arc.
Przenoszenie klastrów Kubernetes z obsługą usługi Arc w różnych regionach świadczenia usługi Azure
W niektórych okolicznościach możesz przenieść klastry Kubernetes z obsługą usługi Arc do innego regionu. Na przykład możesz chcieć wdrożyć funkcje lub usługi dostępne tylko w określonych regionach lub zmienić regiony ze względu na wymagania dotyczące ładu wewnętrznego lub zagadnienia dotyczące planowania pojemności.
Po przeniesieniu połączonego klastra do nowego regionu usuniesz connectedClusters
zasób usługi Azure Resource Manager w regionie źródłowym, a następnie wdrożysz agentów, aby ponownie utworzyć connectedClusters
zasób w regionie docelowym. W przypadku konfiguracji kontroli źródła, konfiguracji flux i rozszerzeń w klastrze należy zapisać szczegółowe informacje o zasobach, a następnie utworzyć ponownie zasoby podrzędne w nowym zasobie klastra.
Przed rozpoczęciem upewnij się, że zasoby platformy Kubernetes z obsługą usługi Azure Arc (Microsoft.Kubernetes/connectedClusters
) i wszystkie potrzebne zasoby konfiguracji kubernetes z obsługą usługi Azure Arc (Microsoft.KubernetesConfiguration/SourceControlConfigurations
, Microsoft.KubernetesConfiguration/Extensions
, Microsoft.KubernetesConfiguration/FluxConfigurations
) są obsługiwane w regionie docelowym.
Wykonaj listę, aby pobrać wszystkie zasoby konfiguracji w klastrze źródłowym (klaster do przeniesienia) i zapisać treść odpowiedzi:
- Microsoft.KubernetesConfiguration/SourceControlConfigurations
- Microsoft.KubernetesConfiguration/Extensions
- Microsoft.KubernetesConfiguration/FluxConfigurations
Uwaga
Lista/POBIERANIE zasobów konfiguracji nie zwraca
ConfigurationProtectedSettings
wartości . W takich przypadkach jedyną opcją jest zapisanie oryginalnej treści żądania i ponowne użycie ich podczas tworzenia zasobów w nowym regionie.Usuń poprzednie wdrożenie usługi Arc z bazowego klastra Kubernetes.
Mając dostęp sieciowy do bazowego klastra Kubernetes, połącz klaster w nowym regionie.
Sprawdź, czy klaster połączony z usługą Arc został pomyślnie uruchomiony w nowym regionie:
- Uruchom
az connectedk8s show -n <connected-cluster-name> -g <resource-group>
polecenie i upewnij się,connectivityStatus
że wartość toConnected
. - Uruchom polecenie
kubectl get deployments,pods -n azure-arc
, aby sprawdzić, czy wszyscy agenci są pomyślnie wdrożeni.
- Uruchom
Używając zapisanej treści odpowiedzi, utwórz ponownie wszystkie zasoby konfiguracji uzyskane w poleceniu LIST z klastra źródłowego w klastrze docelowym. Aby potwierdzić, porównaj wyniki z listy wszystkich zasobów konfiguracji w klastrze docelowym z oryginalną odpowiedzią LIST z klastra źródłowego.
Następne kroki
- Zapoznaj się z naszym przewodnikiem Szybki start, aby połączyć klaster Kubernetes z usługą Azure Arc.
- Wyświetl informacje o wersji, aby wyświetlić szczegółowe informacje o najnowszych wersjach agenta.
- Dowiedz się więcej na temat uaktualniania agentów platformy Kubernetes z obsługą usługi Azure Arc.
- Dowiedz się więcej o tworzeniu połączeń między klastrem a repozytorium Git jako zasobem konfiguracji z włączoną usługą Kubernetes z obsługą usługi Azure Arc.