Skip to content

v2.0.0-alpha.4

Pre-release
Pre-release
Compare
Choose a tag to compare
@babbageclunk babbageclunk released this 09 Dec 03:40
· 1550 commits to main since this release
965416a

This version is unsupported. To try it out, follow the instructions in the README. After installation, you can see the usage instructions for how to get started.

Breaking changes

This release has two breaking changes that will affect existing deployments of the v2 Azure service operator. The ASO team realize that this is inconvenient for existing users, but decided that making the changes now while the operator is in alpha is better than trying to make them post-beta (or never making them). There are migration steps listed for each change.

API group change

The microsoft. prefix for Azure resources has been removed because it's redundant (since the groups are all under azure.com). For example, the YAML for a CosmosDB DatabaseAccount now starts with:

apiVersion: documentdb.azure.com/v1alpha1api20210515
kind: DatabaseAccount

Previously it was:

apiVersion: microsoft.documentdb.azure.com/v1alpha1api20210515
kind: DatabaseAccount

To migrate existing resources from the old API group to the new one, use the following steps:

  1. Apply this release's operator YAML - this will create the new CRDs and update the deployment to use the new image. Ensure that any pods for the previous version of the operator have stopped. This will avoid the Azure resources being deleted when we clean up the old Kubernetes resources in step 4.
  2. Edit the source YAML used to deploy the existing resources to have the new API group (for example documentdb.azure.com rather than microsoft.documentdb.azure.com).
  3. Apply the updated YAML for the resources. These will be linked to the existing Azure resources.
  4. For each old microsoft. resource, remove its serviceoperator.azure.com/finalizer and then delete it. You can find the resources with this command:
    kubectl api-resources -o name | grep 'microsoft\..*\.azure\.com' | paste -sd "," - | xargs kubectl get -A
    This is safe at this point because the alpha.4 version of the operator is only watching resources for the new non-microsoft. CRDs.
  5. Delete the old microsoft. CRDs with:
    kubectl api-resources -o name | grep 'microsoft\..*\.azure\.com' | xargs kubectl delete customresourcedefinition

Removing namespace from resource references

The namespace field on resource references (for example vnetSubnetIDReference on ManagedClustersAgentPool) has been removed, following the Kubernetes Architecture SIG's recommendations on object references.

If you have resources with references to resources in a different namespace, edit the YAML of the reference to use the ARM ID of the resource in Azure rather than the group/kind/namespace/name of the resource in the Kubernetes cluster.

Release notes

  • Added support for the following new resources:
    • PostgreSQL FlexibleServersConfiguration
    • SignalR
    • MySQL:
      • FlexibleServer
      • FlexibleServersDatabase
      • FlexibleServersFirewallRule
    • Application Insights:
      • Webtest
      • Component
    • Redis:
      • Redis
      • RedisLinkedServer
      • RedisFirewallRule
      • RedisPatchSchedule
      • RedisEnterprise
      • RedisEnterpriseDatabase

Full Changelog: v2.0.0-alpha.3...v2.0.0-alpha.4