docs/static/v0.8/guides/tutorials/deploy-azure-resources-with-meshery/index.html
Meshery now supports managing Azure resources declaratively through Kubernetes by integrating with Azure Service Operator (ASO). With this capability, you can visually design, deploy, and manage a variety of Azure resources—such as Storage Accounts, Key Vaults, SQL Servers, and more—directly from Meshery’s UI. In this tutorial, you’ll install the ASO operator (without CRD pattern configurations, as Meshery will handle them), create a Service Principal and a Kubernetes secret with your Azure credentials, and use Meshery to provision Azure resources seamlessly into your subscription.
Before you begin, ensure you have the following:
kubectl configured.az login) in your local shell.If you do not already have a Service Principal (SP) for Meshery, create one using the Azure CLI:
`az ad sp create-for-rbac -n azure-service-operator --role contributor --scopes /subscriptions/<AZURE_SUBSCRIPTION_ID>
`
This command outputs the following credentials:
appId: Application ID (Client ID)displayName: Service Principal Namename: Azure Service Principal URLpassword: Client Secrettenant: Tenant IDTo export them, manually enter:
`export AZURE_CLIENT_ID=<appId>
export AZURE_CLIENT_SECRET=<password>
export AZURE_TENANT_ID=<tenant>
export AZURE_SUBSCRIPTION_ID=<subscriptionId>
`
If you haven’t already connected your cluster to Meshery, run:
`mesheryctl system start
`
Then open the Meshery UI (default: http://localhost:9081) and ensure your cluster appears under Lifecycle → Connections.
Create a cert-manager that is necessary for deployment of Azure Service operator
`kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.14.1/cert-manager.yaml
`
Apply the official ASO operator manifest (Meshery will manage CRDs):
`kubectl apply -f https://github.com/Azure/azure-service-operator/releases/download/v2.13.0/azureserviceoperator_v2.13.0.yaml
`
Azure Service Operator requires a Kubernetes secret with your Azure identity:
`kubectl create secret generic azure-credentials --namespace azureserviceoperator-system --from-literal=AZURE_CLIENT_ID=$AZURE_CLIENT_ID --from-literal=AZURE_CLIENT_SECRET=$AZURE_CLIENT_SECRET --from-literal=AZURE_TENANT_ID=$AZURE_TENANT_ID --from-literal=AZURE_SUBSCRIPTION_ID=$AZURE_SUBSCRIPTION_ID
`
You have successfully:
If you want to learn more about Azure Service Operator, visit the official ASO documentation.