In this challenge, you’re going to deploy the Dapr-enabled services you have written locally to an Azure Kubernetes Service (AKS) cluster.
To complete this challenge, you must reach the following goals:
VehicleRegistrationService
, TrafficControlService
& FineCollectionService
) to an AKS cluster.Program.cs
file) from http://localhost
to http://*
as this will allow the Kestrel server to bind to 0.0.0.0 instead of 127.0.0.1. This is needed to ensure the health probes work in Kubernetes.
Resources/Infrastructure/Helm/dapr-trafficcontrol/values.yaml
with the specific connection strings, tenant IDs, registry names, etc for your deployment.
values.yaml
file) may not be exactly what you specified in your config files or put in your C# code. You should check all the names of each component to ensure they match.values.yaml
file into the various configuration files.
helm upgrade --install dapr-trafficcontrol . --namespace dapr-trafficcontrol --atomic
Use various kubectl
commands to validate that all the services are running in your AKS cluster. Here are some useful ones.
Set your current namespace to the dapr-trafficcontrol namespace
kubectl config set-context --current --namespace=dapr-trafficcontrol
Get all pods (in the current namespace)
kubectl get pods
Describe a specific pod (to help debug deployment issues)
kubectl describe pod <pod-name>
Tail the logs of a specific pod (and follow)
kubectl logs <pod-name> -f
Review the Dapr
sidecar logs of a particular pod
kubectl logs <pod-name> daprd
Restart a deployment after updating the Helm chart or image
kubectl rollout restart deployment fine-collection-service
Thanks for participating in these hands-on challenges! Hopefully you’ve learned about Dapr and how to use it. Obviously, these challenges barely scratch the surface of what is possible with Dapr. We have not touched upon subjects like: hardening production environments, actors, integration with Azure Functions and Azure API Management just to name a few. So if you’re interested in learning more, I suggest you read the Dapr documentation.