Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby użyć składników wtyczki dapr brokera MQTT, wdróż składniki magazynu pub/podrzędnego i magazynu stanów we wdrożeniu aplikacji wraz z aplikacją Dapr. W tym przewodniku pokazano, jak wdrożyć aplikację przy użyciu zestawu DAPR SDK i składników podłączanych brokera MQTT.
Wymagania wstępne
- Wdrożone operacje usługi Azure IoT — Szybki start: uruchamianie operacji usługi Azure IoT w usłudze GitHub Codespaces przy użyciu języka K3s
- Wdrożone składniki języka Dapr brokera MQTT — wdrażanie składników języka Dapr brokera MQTT
Tworzenie aplikacji dapr
Kompilowanie aplikacji
Pierwszym krokiem jest napisanie aplikacji korzystającej z zestawu DAPR SDK do publikowania/subskrybowania lub zarządzania stanem.
- Przewodnik Szybki start dotyczący publikowania i subskrybowania języka Dapr
- Przewodnik Szybki start dotyczący zarządzania stanem w języku Dapr
Spakuj aplikację
Po zakończeniu pisania aplikacji Dapr skompiluj kontener:
Spakuj aplikację do kontenera za pomocą następującego polecenia:
docker build . -t my-dapr-app
Wypchnij go do wybranego rejestru kontenerów, na przykład:
Wdrażanie aplikacji dapr
Poniższa definicja wdrożenia zawiera woluminy uwierzytelniania SAT i łańcucha certyfikatów TLS oraz wykorzystuje iniekcję przyczepki dapr, aby automatycznie dodać składniki podłączane do zasobnika.
Następujące składniki definicji mogą wymagać dostosowania do określonej aplikacji:
Składnik opis template:metadata:annotations:dapr.io/inject-pluggable-components
Umożliwia automatyczne wstrzykiwanie składników do zasobnika operacji IoT template:metadata:annotations:dapr.io/app-port
Informuje dapr, na którym porcie nasłuchuje aplikacja. Jeśli twoja aplikacja nie korzysta z tej funkcji (np. subskrypcji pubsub), usuń ten wiersz volumes:mqtt-client-token
Token uwierzytelniania systemu używany do uwierzytelniania składników wtyczki Dapr za pomocą brokera MQTT volumes:aio-ca-trust-bundle
Łańcuch zaufania w celu zweryfikowania certyfikatu TLS brokera MQTT. To ustawienie domyślne dla certyfikatu testowego wdrożonego przy użyciu operacji usługi Azure IoT containers:name
Nazwa nadana kontenerowi aplikacji containers:image
Kontener aplikacji, który chcesz wdrożyć
Uwaga
Jeśli aplikacja Dapr nie nasłuchuje ruchu z przyczepki Dapr, usuń dapr.io/app-port
adnotacje i dapr.io/app-protocol
w przeciwnym razie nie można zainicjować przyczepki Dapr.
Zapisz następujący plik yaml w pliku o nazwie
dapr-app.yaml
:apiVersion: v1 kind: ServiceAccount metadata: name: dapr-client namespace: azure-iot-operations annotations: aio-broker-auth/group: dapr-workload --- apiVersion: apps/v1 kind: Deployment metadata: name: my-dapr-app namespace: azure-iot-operations spec: selector: matchLabels: app: my-dapr-app template: metadata: labels: app: my-dapr-app annotations: dapr.io/enabled: "true" dapr.io/inject-pluggable-components: "true" dapr.io/app-id: "my-dapr-app" dapr.io/app-port: "6001" dapr.io/app-protocol: "grpc" spec: serviceAccountName: dapr-client volumes: # SAT used to authenticate between Dapr and the MQTT broker - name: mqtt-client-token projected: sources: - serviceAccountToken: path: mqtt-client-token audience: aio-internal expirationSeconds: 86400 # Certificate chain for Dapr to validate the MQTT broker - name: aio-ca-trust-bundle configMap: name: azure-iot-operations-aio-ca-trust-bundle containers: # Container for the Dapr application - name: mq-dapr-app image: <YOUR_DAPR_APPLICATION>
Wdróż składnik, uruchamiając następujące polecenie:
kubectl apply -f dapr-app.yaml kubectl get pods -w
Zasobnik powinien zgłaszać trzy kontenery uruchomione po krótkim interwale, jak pokazano w następujących przykładowych danych wyjściowych:
NAME READY STATUS RESTARTS AGE ... my-dapr-app 3/3 Running 0 30s
Rozwiązywanie problemów
Jeśli aplikacja nie zostanie uruchomiona lub zobaczysz kontenery w CrashLoopBackoff
stanie, dziennik kontenera daprd
często zawiera przydatne informacje.
Uruchom następujące polecenie, aby wyświetlić dzienniki dla składnika daprd:
kubectl logs -l app=my-dapr-app -c daprd
Następne kroki
Teraz, gdy wiesz, jak opracować aplikację dapr, możesz uruchomić samouczek dotyczący tworzenia aplikacji opartej na zdarzeniach za pomocą języka Dapr.