Wdrażanie operacji usługi Azure IoT w klastrze Kubernetes z obsługą usługi Arc
Dowiedz się, jak wdrożyć operacje usługi Azure IoT w klastrze Kubernetes przy użyciu witryny Azure Portal.
W tym artykule omówiono wdrożenia i wystąpienia operacji usługi Azure IoT, które są dwoma różnymi pojęciami:
Wdrożenie operacji usługi Azure IoT opisuje wszystkie składniki i zasoby, które umożliwiają scenariusz operacji usługi Azure IoT. Te składniki i zasoby obejmują:
- Wystąpienie operacji usługi Azure IoT
- Rozszerzenia usługi Arc
- Lokalizacje niestandardowe
- Zasoby, które można skonfigurować w rozwiązaniu Operacje usługi Azure IoT, takie jak zasoby i punkty końcowe zasobów.
Wystąpienie operacji usługi Azure IoT to zasób nadrzędny, który zawiera pakiet usług zdefiniowanych w temacie Co to jest operacje usługi Azure IoT? na przykład broker MQTT, przepływy danych i łącznik dla OPC UA.
Kiedy mówimy o wdrażaniu operacji usługi Azure IoT, oznaczamy pełny zestaw składników tworzących wdrożenie. Po utworzeniu wdrożenia można wyświetlać wystąpienie, zarządzać nim i aktualizować je.
Wymagania wstępne
Zasoby w chmurze:
Subskrypcja Azure.
Uprawnienia dostępu do platformy Azure. Aby uzyskać więcej informacji, zobacz Szczegóły > wdrożenia Wymagane uprawnienia.
Zasoby do programowania:
Interfejs wiersza polecenia platformy Azure zainstalowany na komputerze deweloperskim. Ten scenariusz wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.64.0 lub nowszej. Użyj
az --version
polecenia , aby sprawdzić wersję iaz upgrade
zaktualizować w razie potrzeby. Aby uzyskać więcej informacji, zobacz Jak zainstalować interfejs wiersza polecenia platformy Azure.Rozszerzenie Operacje usługi Azure IoT dla interfejsu wiersza polecenia platformy Azure. Użyj następującego polecenia, aby dodać rozszerzenie lub zaktualizować je do najnowszej wersji:
az extension add --upgrade --name azure-iot-ops
Host klastra:
Mieć klaster Kubernetes z włączoną obsługą usługi Azure Arc z włączoną funkcją lokalizacji niestandardowej i tożsamości obciążenia. Jeśli go nie masz, wykonaj kroki opisane w artykule Przygotowywanie klastra Kubernetes z obsługą usługi Azure Arc.
Jeśli wcześniej wdrożono operacje usługi Azure IoT w klastrze, odinstaluj te zasoby przed kontynuowaniem. Aby uzyskać więcej informacji, zobacz Aktualizowanie operacji usługi Azure IoT.
(Opcjonalnie) Przygotuj klaster pod kątem obserwacji przed wdrożeniem operacji usługi Azure IoT: Konfigurowanie możliwości obserwowania.
(Opcjonalnie) Skonfiguruj własnego wystawcę urzędu certyfikacji przed wdrożeniem operacji usługi Azure IoT: Przynieś własnego wystawcę.
Wdróż
Środowisko wdrażania witryny Azure Portal to narzędzie pomocnicze, które generuje polecenie wdrożenia na podstawie zasobów i konfiguracji. Ostatnim krokiem jest uruchomienie polecenia interfejsu wiersza polecenia platformy Azure, więc nadal potrzebujesz wymagań wstępnych interfejsu wiersza polecenia platformy Azure opisanych w poprzedniej sekcji.
W witrynie Azure Portal wyszukaj i wybierz pozycję Operacje usługi Azure IoT.
Wybierz pozycję Utwórz.
Na karcie Podstawowe podaj następujące informacje:
Parametr Wartość Subskrypcja Wybierz subskrypcję zawierającą klaster z obsługą usługi Arc. Grupa zasobów: Wybierz grupę zasobów zawierającą klaster z obsługą usługi Arc. Nazwa klastra Wybierz klaster, do którego chcesz wdrożyć operacje usługi Azure IoT. Nazwa lokalizacji niestandardowej Opcjonalnie: zastąp domyślną nazwę lokalizacji niestandardowej. Wybierz pozycję Dalej: Konfiguracja.
Na karcie Konfiguracja podaj następujące informacje:
Parametr Wartość Nazwa operacji usługi Azure IoT Opcjonalnie: zastąp domyślną nazwę wystąpienia operacji usługi Azure IoT. Konfiguracja brokera MQTT Opcjonalnie: edytuj ustawienia domyślne brokera MQTT. W witrynie Azure Portal można skonfigurować ustawienia kardynalności i profilu pamięci. Aby skonfigurować inne ustawienia, w tym bufor komunikatów oparty na dysku i zaawansowane opcje klienta MQTT, zobacz Obsługa interfejsu wiersza polecenia platformy Azure dla zaawansowanej konfiguracji brokera MQTT. Konfiguracja profilu przepływu danych Opcjonalnie: Edytuj ustawienia domyślne dla przepływów danych. Aby uzyskać więcej informacji, zobacz Konfigurowanie profilu przepływu danych. Wybierz pozycję Dalej: Zarządzanie zależnościami.
Na karcie Zarządzanie zależnościami wybierz istniejący rejestr schematów lub wykonaj następujące kroki, aby je utworzyć:
Wybierz pozycjęUtwórz nowy.
Podaj nazwę rejestru schematu i przestrzeń nazw rejestru schematu.
Wybierz pozycję Wybierz kontener usługi Azure Storage.
Wybierz konto magazynu z listy kont z obsługą hierarchicznych przestrzeni nazw lub wybierz pozycję Utwórz , aby je utworzyć.
Rejestr schematów wymaga konta usługi Azure Storage z włączoną hierarchiczną przestrzenią nazw i dostępem do sieci publicznej. Podczas tworzenia nowego konta magazynu wybierz typ konta magazynu ogólnego przeznaczenia w wersji 2 i ustaw hierarchiczną przestrzeń nazw na wartość Włączone.
Wybierz kontener na koncie magazynu lub wybierz pozycję Kontener , aby go utworzyć.
Wybierz pozycję Zastosuj , aby potwierdzić konfiguracje rejestru schematów.
Na karcie Zarządzanie zależnościami wybierz opcję Ustawienia testu lub Wdrożenie ustawień bezpiecznych. Jeśli nie masz pewności, co jest odpowiednie dla danego scenariusza, zapoznaj się ze wskazówkami w temacie Szczegóły > wdrożenia Wybierz swoje funkcje.
W zależności od wybranego wyboru wykonaj następujące kroki:
Wdrażanie przy użyciu ustawień testu
Wykonaj następujące kroki, jeśli wybrano opcję Ustawienia testu na karcie Zarządzanie zależnościami .
Wybierz pozycję Dalej: Automatyzacja.
Pojedynczo uruchom każde polecenie interfejsu wiersza polecenia platformy Azure na karcie Automatyzacja w terminalu:
Zaloguj się interaktywnie do interfejsu wiersza polecenia platformy Azure przy użyciu przeglądarki, nawet jeśli wcześniej się zalogowałeś. Jeśli nie logujesz się interaktywnie, może zostać wyświetlony błąd informujący, że urządzenie jest wymagane do zarządzania dostępem do zasobu.
az login
Zainstaluj najnowsze rozszerzenie interfejsu wiersza polecenia operacji usługi Azure IoT.
az upgrade az extension add --upgrade --name azure-iot-ops
Utwórz rejestr schematów, który będzie używany przez składniki operacji usługi Azure IoT. Skopiuj i uruchom podane polecenie az iot ops schema registry create .
Jeśli zdecydujesz się używać istniejącego rejestru schematów, to polecenie nie jest wyświetlane na karcie Automatyzacja .
Przygotuj klaster do wdrożenia operacji usługi Azure IoT. Skopiuj i uruchom podane polecenie az iot ops init .
Napiwek
Polecenie
init
musi być uruchamiane tylko raz na klaster. Jeśli korzystasz z klastra, w którym wdrożono już operacje usługi Azure IoT w wersji 0.8.0, możesz pominąć ten krok.Jeśli spełniono opcjonalne wymagania wstępne dotyczące konfigurowania własnego wystawcy urzędu certyfikacji, dodaj flagę
--user-trust
init
do polecenia .Wykonanie tego polecenia może potrwać kilka minut. Postęp wdrażania można obserwować w terminalu.
Wdrażanie operacji usługi Azure IoT. Skopiuj i uruchom podane polecenie az iot ops create .
Jeśli zostały spełnione opcjonalne wymagania wstępne dotyczące przygotowania klastra do obserwacji, dodaj następujące parametry do
create
polecenia :Parametr Wartość Opis --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Podaj adres modułu zbierającego OpenTelemetry (OTel) skonfigurowany w pliku otel-collector-values.yaml.
Przykładowe wartości używane w temacie Konfigurowanie obserwacji to fullnameOverride=aio-otel-collector i grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Podaj wartość check_interval skonfigurowaną w pliku otel-collector-values.yaml.
Przykładowa wartość używana w temacie Konfigurowanie obserwacji jest check_interval=60.Jeśli zostały spełnione opcjonalne wymagania wstępne dotyczące konfigurowania własnego wystawcy urzędu certyfikacji, dodaj
--trust-settings
parametry docreate
polecenia :--trust-settings configMapName=<CONFIGMAP_NAME> configMapKey=<CONFIGMAP_KEY_WITH_PUBLICKEY_VALUE> issuerKind=<CLUSTERISSUER_OR_ISSUER> issuerName=<ISSUER_NAME>
Wykonanie tego polecenia może potrwać kilka minut. Postęp wdrażania można obserwować w terminalu.
Po pomyślnym zakończeniu wszystkich poleceń interfejsu wiersza polecenia platformy Azure można zamknąć kreatora Instalowanie operacji usługi Azure IoT.
Po pomyślnym zakończeniu create
działania polecenia w klastrze działa działające wystąpienie operacji usługi Azure IoT. Na tym etapie wystąpienie jest skonfigurowane dla większości scenariuszy testowania i oceny.
Jeśli w dowolnym momencie w przyszłości chcesz przygotować wystąpienie do scenariuszy produkcyjnych, wykonaj kroki opisane w artykule Włączanie bezpiecznych ustawień w istniejącym wystąpieniu operacji usługi Azure IoT.
Wdrażanie przy użyciu bezpiecznych ustawień
Wykonaj następujące kroki, jeśli na karcie Zarządzanie zależnościami wybrano opcję Ustawienia zabezpieczeń.
W sekcji Opcje wdrażania podaj następujące informacje:
Parametr Wartość Subskrypcja Wybierz subskrypcję zawierającą magazyn kluczy platformy Azure. Azure Key Vault Wybierz magazyn kluczy platformy Azure lub wybierz pozycję Utwórz nowy.
Upewnij się, że magazyn kluczy ma kontrolę dostępu opartą na rolach platformy Azure jako model uprawnień. Aby sprawdzić to ustawienie, wybierz pozycję Zarządzaj wybraną konfiguracją magazynu>Ustawienia>dostępu.
Upewnij się, że przyznaj swojemu kontu użytkownika uprawnienia do zarządzania wpisami tajnymi zaKey Vault Secrets Officer
pomocą roli.Tożsamość zarządzana przypisana przez użytkownika dla wpisów tajnych Wybierz tożsamość lub wybierz pozycję Utwórz nową. Tożsamość zarządzana przypisana przez użytkownika dla składników AIO Wybierz tożsamość lub wybierz pozycję Utwórz nową. Nie używaj tej samej tożsamości zarządzanej co tożsamość wybrana dla wpisów tajnych. Wybierz pozycję Dalej: Automatyzacja.
Pojedynczo uruchom każde polecenie interfejsu wiersza polecenia platformy Azure na karcie Automatyzacja w terminalu:
Zaloguj się interaktywnie do interfejsu wiersza polecenia platformy Azure przy użyciu przeglądarki, nawet jeśli wcześniej się zalogowałeś. Jeśli nie logujesz się interaktywnie, może zostać wyświetlony błąd informujący, że urządzenie jest wymagane do zarządzania dostępem do zasobu , gdy będziesz kontynuować następny krok w celu wdrożenia operacji usługi Azure IoT.
az login
Zainstaluj najnowsze rozszerzenie interfejsu wiersza polecenia operacji usługi Azure IoT.
az upgrade az extension add --upgrade --name azure-iot-ops
Utwórz rejestr schematów, który będzie używany przez składniki operacji usługi Azure IoT. Skopiuj i uruchom podane polecenie az iot ops schema registry create .
Jeśli zdecydujesz się używać istniejącego rejestru schematów, to polecenie nie jest wyświetlane na karcie Automatyzacja .
Uwaga
To polecenie wymaga uprawnień do zapisu przypisania roli, ponieważ przypisuje rolę w celu udzielenia dostępu rejestru schematów do konta magazynu. Domyślnie rola jest wbudowaną rolą Współautor danych obiektu blob usługi Storage lub możesz utworzyć rolę niestandardową z ograniczonymi uprawnieniami do przypisania. Aby uzyskać więcej informacji, zobacz az iot ops schema registry create.
Przygotuj klaster do wdrożenia operacji usługi Azure IoT. Skopiuj i uruchom podane polecenie az iot ops init .
Napiwek
Polecenie
init
musi być uruchamiane tylko raz na klaster. Jeśli korzystasz z klastra, w którym wdrożono już operacje usługi Azure IoT w wersji 0.8.0, możesz pominąć ten krok.Wykonanie tego polecenia może potrwać kilka minut. Postęp wdrażania można obserwować w terminalu.
Wdrażanie operacji usługi Azure IoT. Skopiuj i uruchom podane polecenie az iot ops create .
Jeśli zostały spełnione opcjonalne wymagania wstępne dotyczące przygotowania klastra do obserwacji, dodaj następujące parametry opcjonalne do
create
polecenia :Parametr opcjonalny Wartość Opis --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Podaj adres modułu zbierającego OpenTelemetry (OTel) skonfigurowany w pliku otel-collector-values.yaml.
Przykładowe wartości używane w temacie Konfigurowanie obserwacji to fullnameOverride=aio-otel-collector i grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Podaj wartość check_interval skonfigurowaną w pliku otel-collector-values.yaml.
Przykładowa wartość używana w temacie Konfigurowanie obserwacji jest check_interval=60.Wykonanie tego polecenia może potrwać kilka minut. Postęp wdrażania można obserwować w terminalu.
Włącz synchronizację wpisów tajnych dla wdrożonego wystąpienia operacji usługi Azure IoT. Skopiuj i uruchom podane polecenie az iot ops secretsync enable .
To polecenie:
- Tworzy poświadczenia tożsamości federacyjnej przy użyciu tożsamości zarządzanej przypisanej przez użytkownika.
- Dodaje przypisanie roli do tożsamości zarządzanej przypisanej przez użytkownika w celu uzyskania dostępu do usługi Azure Key Vault.
- Dodaje minimalną klasę dostawcy wpisów tajnych skojarzonych z wystąpieniem operacji usługi Azure IoT.
Przypisz tożsamość zarządzaną przypisaną przez użytkownika do wdrożonego wystąpienia operacji usługi Azure IoT. Skopiuj i uruchom podane polecenie az iot ops identity assign .
To polecenie tworzy poświadczenia tożsamości federacyjnej przy użyciu wystawcy OIDC wskazanego połączonego klastra i konta usługi Azure IoT Operations.
Po pomyślnym zakończeniu wszystkich poleceń interfejsu wiersza polecenia platformy Azure można zamknąć kreatora Instalowanie operacji usługi Azure IoT.
Po pomyślnym zakończeniu create
działania polecenia w klastrze działa działające wystąpienie operacji usługi Azure IoT. Na tym etapie wystąpienie jest skonfigurowane dla scenariuszy produkcyjnych.
Weryfikowanie wdrożenia
Po zakończeniu wdrażania użyj polecenia az iot ops check , aby ocenić wdrożenie usługi IoT Operations pod kątem kondycji, konfiguracji i użyteczności. Polecenie check może pomóc w znalezieniu problemów we wdrożeniu i konfiguracji.
az iot ops check
Polecenie check
wyświetla ostrzeżenie dotyczące brakujących przepływów danych, które są normalne i oczekiwane do momentu utworzenia przepływu danych. Aby uzyskać więcej informacji, zobacz Przetwarzanie i kierowanie danych za pomocą przepływów danych.
Konfiguracje map tematów, QoS i tras komunikatów można sprawdzić, dodając --detail-level 2
parametr do check
polecenia dla widoku pełnego.
Następne kroki
Jeśli składniki muszą łączyć się z punktami końcowymi platformy Azure, takimi jak SQL lub Fabric, dowiedz się, jak zarządzać wpisami tajnymi dla wdrożenia operacji usługi Azure IoT.