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.

Diagram przedstawiający omówienie architektury agentów Kubernetes z obsługą usługi Azure Arc.

Następujące ogólne kroki są związane z łączeniem klastra Kubernetes z usługą Azure Arc:

  1. 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.

  2. 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.
  3. 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.

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.

  1. Wykonaj listę, aby pobrać wszystkie zasoby konfiguracji w klastrze źródłowym (klaster do przeniesienia) i zapisać treść odpowiedzi:

    Uwaga

    Lista/POBIERANIE zasobów konfiguracji nie zwraca ConfigurationProtectedSettingswartości . W takich przypadkach jedyną opcją jest zapisanie oryginalnej treści żądania i ponowne użycie ich podczas tworzenia zasobów w nowym regionie.

  2. Usuń poprzednie wdrożenie usługi Arc z bazowego klastra Kubernetes.

  3. Mając dostęp sieciowy do bazowego klastra Kubernetes, połącz klaster w nowym regionie.

  4. Sprawdź, czy klaster połączony z usługą Arc został pomyślnie uruchomiony w nowym regionie:

    1. Uruchom az connectedk8s show -n <connected-cluster-name> -g <resource-group> polecenie i upewnij się, connectivityStatus że wartość to Connected.
    2. Uruchom polecenie kubectl get deployments,pods -n azure-arc , aby sprawdzić, czy wszyscy agenci są pomyślnie wdrożeni.
  5. 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