Wdrażanie usługi Azure IoT Operations Preview w klastrze Kubernetes z obsługą usługi Arc
Ważne
Usługa Azure IoT Operations Preview — włączona przez usługę Azure Arc jest obecnie dostępna w wersji zapoznawczej. Nie należy używać tego oprogramowania w wersji zapoznawczej w środowiskach produkcyjnych.
Po udostępnieniu ogólnie dostępnej wersji należy wdrożyć nową instalację operacji usługi Azure IoT. Nie będzie można uaktualnić instalacji w wersji zapoznawczej.
Zobacz Dodatkowe warunki użytkowania wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta lub wersji zapoznawczej albo w inny sposób nie zostały jeszcze wydane jako ogólnie dostępne.
Dowiedz się, jak wdrożyć usługę Azure IoT Operations Preview 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
- Reguły synchronizacji zasobów
- 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 usługa Azure IoT Operations Preview? na przykład broker MQTT, przepływy danych i łącznik 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.
Sprawdź, czy host klastra jest poprawnie skonfigurowany do wdrożenia przy użyciu polecenia verify-host na hoście klastra:
az iot ops verify-host
(Opcjonalnie) Przygotuj klaster pod kątem obserwacji przed wdrożeniem operacji usługi Azure IoT: Konfigurowanie możliwości obserwowania.
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. Aby uzyskać więcej informacji, zobacz Konfigurowanie podstawowych ustawień 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.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.enpoint=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.
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, wybierz pozycję Utwórz nowy.
Upewnij się, że magazyn kluczy ma zasady dostępu do magazynu jako model uprawnień. Aby sprawdzić to ustawienie, wybierz pozycję Zarządzaj wybraną konfiguracją magazynu>Ustawienia>dostępu.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.enpoint=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
Możesz również sprawdzić konfiguracje map tematów, QoS i tras komunikatów, dodając --detail-level 2
parametr dla pełnego widoku.
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 usługi Azure IoT Operations Preview.