Installation: From YAML
Prerequisites
- You have installed Cert Manager as per the installation instructions up to the “install from Helm” step.
- You have the
AZURE_SUBSCRIPTION_ID
,AZURE_TENANT_ID
,AZURE_CLIENT_ID
andAZURE_CLIENT_SECRET
environment variables set from the installation instructions.
Installation
- Install the latest v2+ release of Azure Service Operator.
kubectl apply --server-side=true -f https://github.com/Azure/azure-service-operator/releases/download/v2.0.0/azureserviceoperator_v2.0.0.yaml
- Create the Azure Service Operator v2 secret. This secret contains the identity that Azure Service Operator will run as.
Make sure that you have the 4 environment variables from the Helm installation instructions set.
To learn more about other authentication options, see the authentication documentation:
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Secret metadata: name: aso-controller-settings namespace: azureserviceoperator-system stringData: AZURE_SUBSCRIPTION_ID: "$AZURE_SUBSCRIPTION_ID" AZURE_TENANT_ID: "$AZURE_TENANT_ID" AZURE_CLIENT_ID: "$AZURE_CLIENT_ID" AZURE_CLIENT_SECRET: "$AZURE_CLIENT_SECRET" EOF
Troubleshooting
Metadata too long
If you omit the --server-side=true
flag from the kubectl apply
command, you will see an error like the following:
CustomResourceDefinition.apiextensions.k8s.io "storageaccounts.storage.azure.com" is invalid:
metadata.annotations: Too long: must have at most 262144 bytes
Why does this happen? ASO CRDs are a complete representation of the Azure Resource surface area, including documentation. This is tremendously useful - but also means they are quite large.