Skip to content

Releases: kubernetes-sigs/cluster-api-provider-azure

v1.8.0

09 Mar 01:04
v1.8.0
0f497f8
Compare
Choose a tag to compare

AKS (AzureManagedCluster) graduation from experimental!

We are pleased to remove the "experimental" description from the CAPZ implementation of Azure Managed Kubernetes. Importantly: there are no user-impacting changes for existing users of CAPZ + AKS. Our graduation criteria is documented in detail here:

Thanks to many folks in the community who contributed to this effort! @jackfrancis @nojnhuh @mtougeron @zmalik @zioproto @mweibel @LochanRn @michalno1 @karthikbalasub @richardchen331 and many others, and of course thanks to @alexeldeib for his original work to make CAPZ + AKS a reality!

External (Out-of-Tree) cloud-provider-azure by default

As of this release all test cluster scenarios are using the external (out-of-tree) cloud-provider-azure. Ref:

The above documentation link provides guidance for users who build clusters using the CAPZ reference templates.

Note: these test and reference template changes don't include any changes to the CAPZ implementation, so there are no actions for upgrade scenarios.

We do recommend that all users run Kubernetes clusters in Azure with the official external (out-of-tree) cloud-provider-azure. Please explore the CAPZ reference templates to investigate the various ways that external cloud-provider-azure can be integrated into a variety of cluster configurations, and reach out if you have any questions!

Changes by Kind

API Change

Feature

  • Add support for bastion SKU/tiers (#3057, @willie-yao)
  • Add support for private endpoints (#3044, @adriananeci)
  • Added support for setting outboundType property for Managed Clusters (#3046, @bmiguel-teixeira)
  • Allow configurable scope and role assignment for SystemAssigned identities (#2965, @willie-yao)
  • Enable AKS node pool Linux OS Config (#2973, @nawazkh)
  • Enable CAPZ to deploy cluster on Azure Public MEC (#2836, @upxinxin)
  • Flatcar Container Linux is now supported as a cluster flavor. Try clusterctl generate cluster my-cluster --flavor flatcar. (#2890, @invidian)

Documentation

Bug or Regression

  • Fix idleTimeoutInMinutes for Control Plane Outbound LB to use the right LB spec (#3138, @CecileRobertMichon)
  • Fixed a bug causing CAPZ to overwrite tags applied to managed clusters out-of-band (#3209, @nojnhuh)
  • Fixed a bug preventing changes to AzureManagedMachinePool's spec.taints from taking effect. (#3030, @nojnhuh)
  • Fixes nil pointer when reconciling VMSS scalesets with no boot diagnostics enabled (#3201, @mweibel)
  • Log VMSS Flex validation if no owner MP is found (#3080, @mboersma)
  • AzureMachinePool Controller will no watch KubeadmConfig to ensure AzureMachinePool Bootstrap data is updated on the VMSS
    • The patch loop for the AzureMachinePool will now compare CustomData field to ensure the VMSS instance is updated with the latest model (#3134, @BrennenMM7)
  • Fixed bug for cluster move operation. (#2774, @pkbhowmick)
  • Fixes not routable issue of service type of load balancer when AzureClusterName and ClusterName are different. (#3059, @sonasingh46)

Other (Cleanup or Flake)

Dependencies

Added

  • cloud.google.com/go/accessapproval: v1.5.0
  • cloud.google.com/go/accesscontextmanager: v1.4.0
  • cloud.google.com/go/aiplatform: v1.27.0
  • cloud.google.com/go/analytics: v0.12.0
  • cloud.google.com/go/apigateway: v1.4.0
  • cloud.google.com/go/apigeeconnect: v1.4.0
  • cloud.google.com/go/appengine: v1.5.0
  • cloud.google.com/go/area120: v0.6.0
  • cloud.google.com/go/artifactregistry: v1.9.0
  • cloud.google.com/go/asset: v1.10.0
  • cloud.google.com/go/assuredworkloads: v1.9.0
  • cloud.google.com/go/automl: v1.8.0
  • cloud.google.com/go/baremetalsolution: v0.4.0
  • cloud.google.com/go/batch: v0.4.0
  • cloud.google.com/go/beyondcorp: v0.3.0
  • cloud.google.com/go/billing: v1.7.0
  • cloud.google.com/go/binaryauthorization: v1.4.0
  • cloud.google.com/go/certificatemanager: v1.4.0
  • cloud.google.com/go/channel: v1.9.0
  • cloud.google.com/go/cloudbuild: v1.4.0
  • cloud.google.com/go/clouddms: v1.4.0
  • cloud.google.com/go/cloudtasks: v1.8.0
  • cloud.google.com/go/compute/metadata: v0.2.3
  • cloud.google.com/go/contactcenterinsights: v1.4.0
  • cloud.google.com/go/container: v1.7.0
  • cloud.google.com/go/containeranalysis: v0.6.0
  • cloud.google.com/go/datacatalog: v1.8.0
  • cloud.google.com/go/dataflow: v0.7.0
  • cloud.google.com/go/dataform: v0.5.0
  • cloud.google.com/go/datafusion: v1.5.0
  • cloud.google.com/go/datalabeling: v0.6.0
  • cloud.google.com/go/dataplex: v1.4.0
  • cloud.google.com/go/dataproc: v1.8.0
  • cloud.google.com/go/dataqna: v0.6.0
  • cloud.google.com/go/datastream: v1.5.0
  • cloud.google.com/go/deploy: v1.5.0
  • cloud.google.com/go/dialogflow: v1.19.0
  • cloud.google.com/go/dlp: v1.7.0
  • cloud.google.com/go/documentai: v1.10.0
  • cloud.google.com/go/domains: v0.7.0
  • cloud.google.com/go/edgecontainer: v0.2.0
  • cloud.google.com/go/errorreporting: v0.3.0
  • cloud.google.com/go/essentialcontacts: v1.4.0
  • cloud.google.com/go/eventarc: v1.8.0
  • cloud.google.com/go/filestore: v1.4.0
  • cloud.google.com/go/functions: v1.9.0
  • cloud.google.com/go/gaming: v1.8.0
  • cloud.google.com/go/gkebackup: v0.3.0
  • cloud.google.com/go/gkeconnect: v0.6.0
  • cloud.google.com/go/gkehub: v0.10.0
  • cloud.google.com/go/gkemulticloud: v0.4.0
  • cloud.google.com/go/gsuiteaddons: v1.4.0
  • cloud.google.com/go/iam: v0.8.0
  • cloud.google.com/go/iap: v1.5.0
  • cloud.google.com/go/ids: v1.2.0
  • cloud.google.com/go/iot: v1.4.0
  • cloud.google.com/go/kms: v1.6.0
  • cloud.google.com/go/language: v1.8.0
  • cloud.google.com/go/lifesciences: v0.6.0
  • cloud.google.com/go/logging: v1.6.1
  • cloud.google.com/go/longrunning: v0.3.0
  • cloud.google.com/go/managedidentities: v1.4.0
  • cloud.google.com/go/maps: v0.1.0
  • cloud.google.com/go/mediatranslation: v0.6.0
  • cloud.google.com/go/memcache: v1.7.0
  • cloud.google.com/go/metastore: v1.8.0
  • cloud.google.com/go/monitoring: v1.8.0
  • cloud.google.com/go/networkconnectivity: v1.7.0
  • cloud.google.com/go/networkmanagement: v1.5.0
  • cloud.google.com/go/networksecurity: v0.6.0
  • cloud.google.com/go/notebooks: v1.5.0
  • cloud.google.com/go/optimization: v1.2.0
  • cloud.google.com/go/orchestration: v1.4.0
  • cloud.google.com/go/orgpolicy: v1.5.0
  • cloud.google.com/go/osconfig: v1.10.0
  • cloud.google.com/go/oslogin: v1.7.0
  • cloud.google.com/go/phishingprotection: v0.6.0
  • cloud.google.com/go/policytroubleshooter: v1.4.0
  • cloud.google.com/go/privatecatalog: v0.6.0
  • cloud.google.com/go/pubsublite: v1.5.0
  • cloud.google.com/go/recaptchaenterprise/v2: v2.5.0
  • cloud.google.com/go/recommendationengine: v0.6.0
  • cloud.google.com/go/recommender: v1.8.0
  • cloud.google.com/go/redis: v1.10.0
  • cloud.google.com/go/resourcemanager: v1.4.0
  • cloud.google.com/go/resourcesettings: v1.4.0
  • cloud.google.com/go/retail: v1.11.0
  • cloud.google.com/go/run: v0.3.0
  • cloud.google.com/go/scheduler: v1.7.0
  • cloud.google.com/go/secretmanager: v1.9.0
  • cloud.google.com/go/security: v1.10.0
  • cloud.google.com/go/securitycenter: v1.16.0
  • cloud.google.com/go/servicecontrol: v1.5.0
  • cloud.google.com/go/servicedirectory: v1.7.0
  • cloud.google.com/go/servicemanagement: v1.5.0
  • cloud.google.com/go/serviceusage: v1.4.0
  • cloud.google.com/go/shell: v1.4.0
  • cloud.google.com/go/spanner: v1.41.0
  • cloud.google.com/go/speech: v1.9.0
  • cloud.google.com/go/storagetransfer: v1.6.0
  • cloud.google.com/go/talent: v1.4.0
  • cloud.google.com/go/texttospeech: v1.5.0
  • cloud.google.com/go/tpu: v1.4.0
  • cloud.google.com/go/trace: v1.4.0
  • cloud.google.com/go/translate: v1.4.0
  • cloud.google.com/go/video: v1.9.0
  • cloud.google.com/go/videointelligence: v1.9.0
  • cloud.google.com/go/vision/v2: v2.5.0
  • cloud.google.com/go/vmmigration: v1.3.0
  • cloud.google.com/go/vmwareengine: v0.1.0
  • cloud.google.com/go/vpcaccess: v1.5.0
  • cloud.google.com/go/webrisk: v1.7.0
  • cloud.google.com/go/websecurityscanner: v1.4.0
  • cloud.google.com/go/workflows: v1.9.0
  • github.com/grpc-ecosystem/grpc-gateway/v2: v2.7.0

Changed

  • cloud.google.com/go/bigquery: v1.8.0 → v1.44.0
  • cloud.google.com/go/compute: v1.7.0 → v1.15.1
  • cloud.google.com/go/datastore: v1.1.0 → v1.10.0
  • cloud.google.com/go/firestore: v1.6.1 → v1.9.0
  • cloud.google.com/go/pubsub: v1.3.1 → v1.27.1
  • cloud.google.com/go: v0.100.2 → v0.105.0
  • github.com/Azure/azure-sdk-for-go/sdk/azcore: v1.2.0 → v1.3.1
  • github.com/Azure/azure-sdk-for-go/sdk/azidentity: [v1.2.0 → v1.2.1](https://...
Read more

v1.7.2

09 Feb 19:21
v1.7.2
2e32964
Compare
Choose a tag to compare

Changes by Kind

Other (Cleanup or Flake)

Bug or Regression

  • Fix idleTimeoutInMinutes for Control Plane Outbound LB to use the right LB spec (#3140, @CecileRobertMichon)
  • Fixes not routable issue of service type of load balancer when AzureClusterName and ClusterName are different. (#3152, @sonasingh46)
  • Don't delete VMSS upon failure and add bootstrap status condition (#3145, @jamesgoodhouse)

Dependencies

Added

Nothing has changed.

Changed

  • sigs.k8s.io/cluster-api/test: v1.3.1 → v1.3.3
  • sigs.k8s.io/cluster-api: v1.3.1 → v1.3.3

Removed

Nothing has changed.

v1.6.3

09 Feb 19:21
v1.6.3
2e98b81
Compare
Choose a tag to compare

Changes by Kind

Other (Cleanup or Flake)

Bug or Regression

  • Fixes not routable issue of service type of load balancer when AzureClusterName and ClusterName are different. (#3154, @sonasingh46)
  • Don't delete VMSS upon failure and add bootstrap status condition (#3146, @jamesgoodhouse)

Dependencies

Added

Nothing has changed.

Changed

  • sigs.k8s.io/cluster-api/test: v1.2.9 → v1.2.10
  • sigs.k8s.io/cluster-api: v1.2.9 → v1.2.10

Removed

Nothing has changed.

v1.7.1

24 Jan 17:41
v1.7.1
14ffafa
Compare
Choose a tag to compare

Changes by Kind

Bug or Regression

  • Fix a bug preventing changes to AzureManagedMachinePool's spec.taints from taking effect. (#3036, @nojnhuh)
  • Fix unnecessary reconciles on AKS node taints (#3053, @nojnhuh)
  • Fix panic on AzureManagedMachinePool creation with auto-scale (#3071, @mjnovice)

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.

v1.6.2

24 Jan 17:41
v1.6.2
2bc4999
Compare
Choose a tag to compare

Changes by Kind

Bug or Regression

  • Fix a bug preventing changes to AzureManagedMachinePool's spec.taints from taking effect. (#3037, @nojnhuh)
  • Fix unnecessary reconciles on AKS node taints (#3052, @nojnhuh)
  • Fix panic on AzureManagedMachinePool creation with autoscale (#3072, @mjnovice)
  • AzureManagedMachinePool spec.name is now immutable (#2991, @nojnhuh)

Dependencies

Added

Nothing has changed.

Changed

Removed

Nothing has changed.

v1.7.0

12 Jan 17:06
v1.7.0
df02fc3
Compare
Choose a tag to compare

Urgent Upgrade Notes

(No, really, you MUST read this before you upgrade)

  • Replace deprecated ADAL authentication with MSAL.

    For users relying on certificate authentication, the environment variables used by the libraries changed from AZURE_CERTIFICATE_ to AZURE_CLIENT_CERTIFICATE_ (#2748, @r4f4)

  • Don’t default to AKS networkPolicy=calico (#2999, @jackfrancis)

    This change removes a default configuration for AKS NetworkPolicy=calico. Going forward, CAPZ will not express a default opinion. Users will declare NetworkPolicy=calico or NetworkPolicy=azure in the AzureManagedControlPlane's Spec.NetworkPolicy configuration.

Changes by Kind

API Change

  • Add AdditionalTags property to AzureManagedMachinePool (#2745, @zioproto)
  • Prefer CAPI replicas-managed-by annotation for AKS autoscaler (#2996, @jackfrancis)

Feature

  • AKS resource health added to AzureManagedControlPlane status (#2738, @nojnhuh)
  • Add "VMIdentitiesReadyCondition" AzureMachine condition (#2743, @willie-yao)
  • Add support for configurable VM Diagnostics (#2528, @damdo)
  • Add support for kubeletDiskType (#2938, @willie-yao)
  • Adds additional fields for AzureMachine, AzureMachineTemplate, and AzureMachinePool to configure multiple NetworkInterfaces. An example configuration:
  networkInterfaces:
    - subnetName: control-plane-subnet
       acceleratedNetworking: false
    - subnetName: node-subnet
       acceleratedNetworking: true
       privateIPConfigs: 2
       publicIPConfigs: 1

will create two interfaces, with the node-subnet interface having two additional private IP addresses, and one additional public IP address (#2411, @brianlieberman)

  • Adds the ability to annotate a MachinePool with cluster.x-k8s.io/replicas-managed-by-autoscaler to synchronize VMSS capacity with MachinePool replicas automatically. (#2588, @mweibel)

  • Allow setting custom backend pool names for load balancers (#2714, @Fedosin)

  • AzureManagedCluster: Full support for AKS Cluster Autoscaler (#2838, @mtougeron)

  • Default Ubuntu to 22.04 for new k8s versions (#2807, @mboersma)

  • Enable AKS node pool KubeletConfig (#2781, @jackfrancis)

  • Feat : dependabot workflow automation for updating dependency (#2752, @Rajpratik71)

  • Make resourceID required for AzureClusterIdentity when using UserAssignedMSI (#2862, @willie-yao)

  • The age of all Azure resources is now printed by running kubectl get (e.g. kubectl get azurecluster) and kubectl get azureclusteridentity now prints the type of the Azure Identity. (#2960, @bavarianbidi)

  • Update node pool names in AKS flavor templates to include the cluster's name

    Update AzureManagedMachinePool reconciler to use spec.name to find the matching node pool VMSS (#2846, @AAkindele)

  • VMSS Flex support for MachinePools (#2813, @mboersma)

Documentation

  • Add documentation on how to specify managed cluster addons (#2964, @dtzar)

Bug or Regression

  • Add tolerations to aad pod identity (#2816, @sonasingh46)

  • AzureManagedCluster spec.controlPlaneEndpoint is immutable (#2711, @jackfrancis)

  • AzureManagedMachinePool spec.name is now immutable (#2990, @nojnhuh)

  • Cleanup remote peerings when resource group is deleted (#2767, @willie-yao)

  • Ensure AKS immutable configuration has webhook enforcement (#2795, @jackfrancis)

  • Fix machinepool reconciliation by converting the resourceGroup name in the AzureMachinePoolMachine object providerID to lowercase to match the providerID defined in the kubernetes Node Object on the workload cluster.

    This fix only apply to new azuremachinepoolmachine objects so if any existing machine pool with resource group name with a capital letter already exist , the controller with this patch will not manage to fix the azuremachinepoolmachines in it and it will still fail to reconcile the pool until the pool is deleted. (#2894, @primeroz)

  • Fixed a bug preventing spec.additionalTags from being deleted entirely on AzureManagedControlPlane (#2916, @nojnhuh)

  • Fixed tags converters function MapToTags and TagsToMap to return nil on nil input. Added unit tests for tag converters. (#2802, @zioproto)

Other (Cleanup or Flake)

Dependencies

Added

  • github.com/Azure/azure-sdk-for-go/sdk/azcore: v1.2.0
  • github.com/Azure/azure-sdk-for-go/sdk/azidentity: v1.2.0
  • github.com/Azure/azure-sdk-for-go/sdk/internal: v1.0.0
  • github.com/AzureAD/microsoft-authentication-library-for-go: v0.7.0
  • github.com/buger/jsonparser: v1.1.1
  • github.com/dnaeon/go-vcr: v1.1.0
  • github.com/emicklei/go-restful/v3: v3.9.0
  • github.com/flowstack/go-jsonschema: v0.1.1
  • github.com/golang-jwt/jwt: v3.2.1+incompatible
  • github.com/google/safetext: b49f7bc
  • github.com/joho/godotenv: v1.3.0
  • github.com/jongio/azidext/go/azidext: v0.4.0
  • github.com/kylelemons/godebug: v1.1.0
  • github.com/montanaflynn/stats: v0.6.6
  • github.com/pkg/browser: ce105d0
  • k8s.io/cloud-provider: v0.25.1-rc.0
  • k8s.io/controller-manager: v0.25.1-rc.0
  • k8s.io/kubelet: v0.25.1-rc.0
  • sigs.k8s.io/cloud-provider-azure: v1.25.5

Changed

Read more

v1.6.1

04 Jan 20:34
v1.6.1
12775e9
Compare
Choose a tag to compare

Changes by Kind

Bug or Regression

  • Fixed a bug preventing spec.additionalTags from being deleted entirely on AzureManagedControlPlane (#2928, @nojnhuh)
  • Add tolerations to aad pod identity (#2864, @k8s-infra-cherrypick-robot)
  • Bump aad-pod-identity to v1.8.14 (#2956, @sonasingh46)
  • Cleanup remote peerings when resource group is deleted (#2818, @k8s-infra-cherrypick-robot)
  • Fix CVEs on release branch release-1.6 (#2954, @sonasingh46)
  • Fix machinepool reconciliation by converting the resourceGroup name in the AzureMachinePoolMachine object providerID to lowercase to match the providerID defined in the kubernetes Node Object on the workload cluster.

Dependencies

Added

Nothing has changed.

Changed

  • github.com/emicklei/go-restful: v2.15.0+incompatible → v2.16.0+incompatible
  • golang.org/x/mod: 9b9b3d8 → 86c51ed
  • golang.org/x/net: 355a448 → v0.4.0
  • golang.org/x/sys: bc2c85a → v0.3.0
  • golang.org/x/term: 03fcf44 → v0.3.0
  • golang.org/x/text: v0.3.7 → v0.5.0
  • golang.org/x/tools: 897bd77 → v0.1.12
  • gopkg.in/yaml.v3: v3.0.0 → v3.0.1
  • sigs.k8s.io/cluster-api/test: v1.2.4 → v1.2.6
  • sigs.k8s.io/cluster-api: v1.2.4 → v1.2.6

Removed

Nothing has changed.

v1.5.5

04 Jan 21:15
v1.5.5
aea6624
Compare
Choose a tag to compare

Changes by Kind

Bug or Regression

Dependencies

Added

Nothing has changed.

Changed

  • github.com/emicklei/go-restful: v2.15.0+incompatible → v2.16.0+incompatible
  • golang.org/x/mod: 9b9b3d8 → 86c51ed
  • golang.org/x/net: 355a448 → v0.4.0
  • golang.org/x/sys: bc2c85a → v0.3.0
  • golang.org/x/term: 03fcf44 → v0.3.0
  • golang.org/x/text: v0.3.7 → v0.5.0
  • golang.org/x/tools: 897bd77 → v0.1.12
  • gopkg.in/yaml.v3: v3.0.0 → v3.0.1

Removed

Nothing has changed.

v1.6.0

15 Nov 17:22
v1.6.0
71acdca
Compare
Choose a tag to compare

Changes by Kind

API Change

  • Fixes a cluster class bug where capz and topology controller updates the AzureCluster object continuously (#2708, @sonasingh46)

Feature

Documentation

  • AzureClusterIdentity type is "UserAssignedMSI" for User Assigned Managed Identity (#2783, @karansinghneu)
  • Key "dns" is now "dnsName" in spec.networkSpec.apiServerLB.frontendIPs[0].publicIP (#2788, @karansinghneu)
  • Remove outdated statement in custom vnet doc (#2726, @thiDucTran)

Bug or Regression

Other (Cleanup or Flake)

Dependencies

Added

  • github.com/flatcar/container-linux-config-transpiler: v0.9.4
  • github.com/flatcar/ignition: v0.36.2

Changed

  • sigs.k8s.io/cluster-api/test: v1.2.1 → v1.2.4
  • sigs.k8s.io/cluster-api: v1.2.1 → v1.2.4

Removed

  • github.com/flatcar-linux/container-linux-config-transpiler: v0.9.2
  • github.com/flatcar-linux/ignition: v0.36.1

v1.5.4

10 Nov 23:41
v1.5.4
68b39ed
Compare
Choose a tag to compare

Changes by Kind

Uncategorized

Dependencies

Added

Nothing has changed.

Changed

Nothing has changed.

Removed

Nothing has changed.