Latihan
Modul
Deploy a Quarkus application to Azure Container Apps - Training
Create a Quarkus application, connect it to a PostgreSQL database, and then deploy it to Azure Container Apps.
Pelayar ini tidak lagi disokong.
Naik taraf kepada Microsoft Edge untuk memanfaatkan ciri, kemas kini keselamatan dan sokongan teknikal yang terkini.
To use the MQTT broker Dapr pluggable components, deploy both the pub/sub and state store components in your application deployment along with your Dapr application. This guide shows you how to deploy an application using the Dapr SDK and MQTT broker pluggable components.
The first step is to write an application that uses a Dapr SDK to publish/subscribe or do state management.
After you finish writing the Dapr application, build the container:
Package the application into a container with the following command:
docker build . -t my-dapr-app
Push it to your Container Registry of your choice, such as:
The following Deployment definition contains volumes for SAT authentication and TLS certificate chain, and utilizes Dapr sidecar injection to automatically add the pluggable components to the Pod.
The following definition components might require customization to your specific application:
Component Description template:metadata:annotations:dapr.io/inject-pluggable-components
Allows the IoT Operations pluggable components to be automatically injected into the pod template:metadata:annotations:dapr.io/app-port
Tells Dapr which port your application is listening on. If your application us not using this feature (such as a pubsub subscription), then remove this line volumes:mqtt-client-token
The System Authentication Token used for authenticating the Dapr pluggable components with the MQTT broker volumes:aio-ca-trust-bundle
The chain of trust to validate the MQTT broker TLS cert. This defaults to the test certificate deployed with Azure IoT Operations containers:name
A name given to your application container containers:image
The application container you want to deploy
Awas
If your Dapr application is not listening for traffic from the Dapr sidecar, then remove the dapr.io/app-port
and dapr.io/app-protocol
annotations otherwise the Dapr sidecar will fail to initialize.
Save the following yaml to a file named 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>
Deploy the component by running the following command:
kubectl apply -f dapr-app.yaml
kubectl get pods -w
The pod should report three containers running after a short interval, as shown in the following example output:
NAME READY STATUS RESTARTS AGE
...
my-dapr-app 3/3 Running 0 30s
If the application doesn't start or you see the containers in CrashLoopBackoff
state, the log for the daprd
container often contains useful information.
Run the following command to view the logs for the daprd component:
kubectl logs -l app=my-dapr-app -c daprd
Now that you know how to develop a Dapr application, you can run through the tutorial to Build an event-driven app with Dapr.
Latihan
Modul
Deploy a Quarkus application to Azure Container Apps - Training
Create a Quarkus application, connect it to a PostgreSQL database, and then deploy it to Azure Container Apps.
Dokumentasi
Deploy Dapr pluggable components - Azure IoT Operations
Deploy Dapr and the MQTT broker pluggable components to a cluster.
Build an event-driven app with Dapr - Azure IoT Operations
Learn how to create a Dapr application that aggregates data and publishing on another topic using MQTT broker.