v1.8.0
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:
- Switch all reference and test templates to use external cloud-provider-azure
all clusters created from templates in the CAPZ repo must now install cloud-provider-azure as a separate step, see https://capz.sigs.k8s.io/topics/addons.html#external-cloud-provider for instructions. (#3105, @CecileRobertMichon)
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
- Graduate AKS APIs from experimental (#2959, @jackfrancis)
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
- Add documentation for running WebAssembly workloads on CAPZ clusters (#3161, @devigned)
- Update roadmap (#3116, @dtzar)
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)
- Bump CAPI to v1.3.2 (#3031, @mboersma)
- Bump CAPI to v1.3.3 (#3136, @mboersma)
- Bump CAPI to v1.3.5 (#3218, @mboersma)
- Bump cert-manager to v1.11.0 (#3139, @mboersma)
- Updated Windows Calico to v3.25.0 (#3142, @CecileRobertMichon)
- Updated
Tiltfile
to honour theGOARCH
reported by the OS. (#2970, @h0tbird) - Updated the version of metrics-server to v0.6.2 (#3117, @swastik959)
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
- github.com/Azure/azure-sdk-for-go/sdk/internal: v1.0.0 → v1.1.2
- github.com/Azure/azure-sdk-for-go: v67.1.0+incompatible → v68.0.0+incompatible
- github.com/Azure/go-autorest/autorest/azure/auth: v0.5.10 → v0.5.12
- github.com/Azure/go-autorest/autorest/azure/cli: v0.4.2 → v0.4.5
- github.com/AzureAD/microsoft-authentication-library-for-go: v0.7.0 → v0.8.1
- github.com/BurntSushi/toml: v1.0.0 → v1.1.0
- github.com/Masterminds/squirrel: v1.5.2 → v1.5.3
- github.com/Microsoft/go-winio: v0.5.1 → v0.5.2
- github.com/Microsoft/hcsshim: v0.9.2 → v0.9.6
- github.com/cenkalti/backoff/v4: v4.1.2 → v4.2.0
- github.com/census-instrumentation/opencensus-proto: v0.2.1 → v0.4.1
- github.com/cespare/xxhash/v2: v2.1.2 → v2.2.0
- github.com/cncf/udpa/go: 04548b0 → c52dc94
- github.com/cncf/xds/go: cb28da3 → 06c439d
- github.com/containerd/cgroups: v1.0.3 → v1.0.4
- github.com/containerd/containerd: v1.6.3 → v1.6.18
- github.com/containerd/continuity: v0.2.2 → v0.3.0
- github.com/containerd/go-cni: v1.1.4 → v1.1.6
- github.com/containernetworking/cni: v1.0.1 → v1.1.1
- github.com/coredns/corefile-migration: v1.0.18 → v1.0.20
- github.com/distribution/distribution/v3: a29a3c9 → ffbd94c
- github.com/docker/cli: v20.10.11+incompatible → v20.10.17+incompatible
- github.com/envoyproxy/go-control-plane: 49ff273 → v0.10.3
- github.com/envoyproxy/protoc-gen-validate: v0.1.0 → v0.9.1
- github.com/felixge/httpsnoop: v1.0.2 → v1.0.3
- github.com/go-sql-driver/mysql: v1.5.0 → v1.6.0
- github.com/google/cel-go: v0.12.4 → v0.12.5
- github.com/hashicorp/go-retryablehttp: v0.7.0 → v0.7.2
- github.com/jmoiron/sqlx: v1.3.4 → v1.3.5
- github.com/lib/pq: v1.10.4 → v1.10.6
- github.com/matttproud/golang_protobuf_extensions: c182aff → v1.0.4
- github.com/onsi/ginkgo/v2: v2.6.0 → v2.8.4
- github.com/onsi/gomega: v1.24.1 → v1.27.1
- github.com/opencontainers/runc: v1.1.1 → v1.1.2
- github.com/opencontainers/selinux: v1.10.0 → v1.10.1
- github.com/phayes/freeport: 95f893a → 74d24b5
- github.com/prometheus/client_golang: v1.13.0 → v1.14.0
- github.com/prometheus/client_model: v0.2.0 → v0.3.0
- github.com/rubenv/sql-migrate: v1.1.1 → v1.1.2
- github.com/stretchr/objx: v0.4.0 → v0.5.0
- github.com/stretchr/testify: v1.8.1 → v1.8.2
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.27.0 → v0.40.0
- go.opentelemetry.io/otel/exporters/otlp/internal/retry: v1.4.0 → v1.14.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.4.0 → v1.14.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.4.0 → v1.14.0
- go.opentelemetry.io/otel/exporters/prometheus: v0.27.0 → v0.37.0
- go.opentelemetry.io/otel/metric: v0.27.0 → v0.37.0
- go.opentelemetry.io/otel/sdk/metric: v0.27.0 → v0.37.0
- go.opentelemetry.io/otel/sdk: v1.4.0 → v1.14.0
- go.opentelemetry.io/otel/trace: v1.4.0 → v1.14.0
- go.opentelemetry.io/otel: v1.4.0 → v1.14.0
- go.opentelemetry.io/proto/otlp: v0.12.0 → v0.19.0
- go.uber.org/goleak: v1.1.12 → v1.2.1
- golang.org/x/crypto: v0.3.0 → v0.6.0
- golang.org/x/mod: 86c51ed → v0.9.0
- golang.org/x/net: v0.4.0 → v0.7.0
- golang.org/x/oauth2: f213421 → v0.4.0
- golang.org/x/sync: 886fb93 → v0.1.0
- golang.org/x/sys: v0.3.0 → v0.5.0
- golang.org/x/term: v0.3.0 → v0.5.0
- golang.org/x/text: v0.5.0 → v0.8.0
- golang.org/x/tools: v0.2.0 → v0.6.0
- google.golang.org/genproto: 88e70c0 → 76db087
- google.golang.org/grpc: v1.47.0 → v1.53.0
- helm.sh/helm/v3: v3.9.0 → v3.10.3
- k8s.io/apiextensions-apiserver: v0.25.0 → v0.25.2
- k8s.io/apiserver: v0.25.1-rc.0 → v0.25.2
- k8s.io/cli-runtime: v0.25.0 → v0.25.2
- k8s.io/code-generator: v0.25.0 → v0.25.2
- k8s.io/component-base: v0.25.1-rc.0 → v0.25.2
- k8s.io/component-helpers: v0.25.1-rc.0 → v0.25.2
- k8s.io/cri-api: v0.23.1 → v0.25.0
- k8s.io/kubectl: v0.25.0 → v0.25.2
- k8s.io/metrics: v0.25.0 → v0.25.2
- oras.land/oras-go: v1.1.0 → v1.2.0
- sigs.k8s.io/cluster-api/test: v1.3.3 → v1.3.5
- sigs.k8s.io/cluster-api: v1.3.3 → v1.3.5
Removed
- github.com/benbjohnson/clock: v1.3.0
- go.opentelemetry.io/otel/internal/metric: v0.27.0