v1.33.0

Cloud Provider Azure v1.33.0

Full Changelog: v1.32.0..v1.33.0

Changes by Kind

Feature

  • Chore: add VMSS AttachDetachDataDisks interface (#8870, @andyzhangx)

  • Feat: Support migration from basic to standard load balancer

    Introducing a new feature to migrate from basic to standard sku load balancer. To trigger the migration, switch loadBalancerSKU in the cloud provider configuration from basic to standard. The basic load balancer will be removed automatically, and service workloads on it will be migrated to the newly created standard load balancer, with their ip addresses unchanged. This operation may cause downtime. (#8463, @nilo19)

  • Feat: add VNetLinkName and PublicNetworkAccess in account creation (#8990, @andyzhangx)

  • Feat: add option to override ARM retry-after if the value is lower than the configured minimum (#9026, @sunpa93)

  • For non-public cloud, apiVersion will be pinned to a specific version (#8518, @MartinForReal)

  • This pull request adds the capability to authenticate with Azure using a new authentication type available only to 1st party Microsoft applications, UserAssignedIdentityCredential (#8230, @bryan-cox)

Bug or Regression

  • BEHAVIOR CHANGE: In the multi-slb initial design, an empty node selector matches all nodes, but only when there is no non-empty selector matching the node. In this fix we correct this behavior.

    fix: Empty node selector should work after non-empty node selector (#8321, @nilo19)

  • Fix network ARM client setting in a different subscription within the same tenant. (#8728, @zarvd)

  • Fix(credential-provider): check acr pattern to avoid spoofing (#8255, @mainred)

  • Fix(credential-provider): check empty mirror mapping and add debugging info (#8647, @mainred)

  • Fix(credential-provider): use acr audience token for ACR authentication (#8593, @mainred)

  • Fix: Ignore cases when comparing load balancer names (#8978, @nilo19)

  • Fix: Prevent panic when route table GET result is empty interface, or nil. (#8820, @nilo19)

  • Fix: Remove all routes that have the node name as prefix (#8427, @nilo19)

  • Fix: Remove managed pip if switched to another pip in a different resource group (#8419, @nilo19)

  • Fix: Remove the shared slb health probe after the last cluster service is switched to local. (#8732, @nilo19)

  • Fix: ResourceNotFound error (#8997, @andyzhangx)

  • Fix: Skip ensuring host in pool if the vm is not found (#8648, @nilo19)

  • Fix: account match algorithm when source account name is provided (#8560, @andyzhangx)

  • Fix: add http timeout to avoid connection stuck (#8383, @feiskyer)

  • Fix: disk attach/detach failure with track2 sdk (#8245, @andyzhangx)

  • Fix: incorrect cloud provider setting in sovereign cloud (#8504, @andyzhangx)

  • Fix: reduce get disk call in disk attach/detach on VMSS (#8623, @andyzhangx)

  • Fix: remove unnecessary get vmss call during disk attach (#8874, @andyzhangx)

  • Introduced prefix-based matching for systemTags during tag reconciliation.

    • Tags starting with a prefix defined in systemTags (e.g., aks-managed) will now be matched and retained.
    • For example: Adding aks-managed to systemTags ensures tags like aks-managed-cluster-name and aks-managed-cluster-rg are preserved. (#8115, @Timberlake-Z)
  • Tags with values resembling “null” (e.g., " null " or " NuLL “) will now retain their leading and trailing whitespace during inheritance or updates to avoid errors caused by ARM’s reserved tag value “null”. This change only affects tags with such specific values, ensuring all other tags continue to have whitespace trimmed as before. (#8071, @Timberlake-Z)

Other (Cleanup or Flake)

  • Chore: Add metrics for local service backend pool updater Add metrics service_local_update_backend_pool_xxx. (#8867, @nilo19)
  • Chore: Bump go modules against k/k release-1.33 (#8996, @nilo19)
  • Fetch async update result as soon as the vm update operation id is returned. (#8268, @MartinForReal)

Dependencies

Added

  • github.com/Azure/msi-dataplane: v0.4.3
  • github.com/go-faker/faker/v4: v4.6.0
  • github.com/niemeyer/pretty: a10e7ca
  • github.com/planetscale/vtprotobuf: 0393e58
  • go.uber.org/automaxprocs: v1.6.0
  • gopkg.in/go-jose/go-jose.v2: v2.6.3
  • sigs.k8s.io/randfill: v1.0.0

Changed

  • cel.dev/expr: v0.18.0 → v0.19.1
  • cloud.google.com/go/compute/metadata: v0.3.0 → v0.5.0
  • github.com/Azure/azure-sdk-for-go/sdk/azcore: v1.17.0 → v1.18.0
  • github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache: v0.3.0 → v0.3.2
  • github.com/Azure/azure-sdk-for-go/sdk/azidentity: v1.8.0 → v1.9.0
  • github.com/Azure/azure-sdk-for-go/sdk/internal: v1.10.0 → v1.11.1
  • github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v6: v6.2.0 → v6.4.0
  • github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v6: v6.3.0 → v6.4.0
  • github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage: v1.6.0 → v1.8.0
  • github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azsecrets: v1.3.0 → v1.3.1
  • github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal: v1.1.0 → v1.1.1
  • github.com/AzureAD/microsoft-authentication-library-for-go: v1.3.1 → v1.4.2
  • github.com/antlr4-go/antlr/v4: v4.13.0 → v4.13.1
  • github.com/cncf/xds/go: 555b57e → b4127c9
  • github.com/coreos/go-oidc: v2.2.1+incompatible → v2.3.0+incompatible
  • github.com/cpuguy83/go-md2man/v2: v2.0.4 → v2.0.6
  • github.com/envoyproxy/go-control-plane: v0.12.0 → v0.13.0
  • github.com/envoyproxy/protoc-gen-validate: v1.0.4 → v1.1.0
  • github.com/evanphx/json-patch: v5.9.0+incompatible → v5.9.11+incompatible
  • github.com/fsnotify/fsnotify: v1.8.0 → v1.9.0
  • github.com/golang-jwt/jwt/v4: v4.5.1 → v4.5.2
  • github.com/golang-jwt/jwt/v5: v5.2.1 → v5.2.2
  • github.com/golang/glog: v1.2.1 → v1.2.2
  • github.com/google/btree: v1.0.1 → v1.1.3
  • github.com/google/cel-go: v0.22.0 → v0.23.2
  • github.com/google/gnostic-models: v0.6.8 → v0.6.9
  • github.com/google/go-cmp: v0.6.0 → v0.7.0
  • github.com/google/pprof: 40e02aa → 27863c8
  • github.com/gorilla/websocket: v1.5.0 → e064f32
  • github.com/grpc-ecosystem/grpc-gateway/v2: v2.20.0 → v2.24.0
  • github.com/keybase/go-keychain: 57a3676 → v0.0.1
  • github.com/klauspost/compress: v1.17.9 → v1.18.0
  • github.com/onsi/ginkgo/v2: v2.22.2 → v2.23.4
  • github.com/onsi/gomega: v1.36.2 → v1.37.0
  • github.com/prometheus/client_golang: v1.20.5 → v1.22.0
  • github.com/prometheus/common: v0.61.0 → v0.62.0
  • github.com/redis/go-redis/v9: v9.6.1 → v9.7.3
  • github.com/samber/lo: v1.47.0 → v1.50.0
  • github.com/spf13/cobra: v1.8.1 → v1.9.1
  • github.com/spf13/pflag: v1.0.5 → v1.0.6
  • go.etcd.io/etcd/api/v3: v3.5.16 → v3.5.21
  • go.etcd.io/etcd/client/pkg/v3: v3.5.16 → v3.5.21
  • go.etcd.io/etcd/client/v2: v2.305.16 → v2.305.21
  • go.etcd.io/etcd/client/v3: v3.5.16 → v3.5.21
  • go.etcd.io/etcd/pkg/v3: v3.5.16 → v3.5.21
  • go.etcd.io/etcd/raft/v3: v3.5.16 → v3.5.21
  • go.etcd.io/etcd/server/v3: v3.5.16 → v3.5.21
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.53.0 → v0.58.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.53.0 → v0.58.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.28.0 → v1.33.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.28.0 → v1.33.0
  • go.opentelemetry.io/otel/exporters/prometheus: v0.55.0 → v0.57.0
  • go.opentelemetry.io/otel/metric: v1.33.0 → v1.35.0
  • go.opentelemetry.io/otel/sdk/metric: v1.33.0 → v1.35.0
  • go.opentelemetry.io/otel/sdk: v1.33.0 → v1.35.0
  • go.opentelemetry.io/otel/trace: v1.33.0 → v1.35.0
  • go.opentelemetry.io/otel: v1.33.0 → v1.35.0
  • go.opentelemetry.io/proto/otlp: v1.3.1 → v1.4.0
  • go.uber.org/mock: v0.5.0 → v0.5.2
  • golang.org/x/crypto: v0.32.0 → v0.36.0
  • golang.org/x/exp: 8a7402a → 054e65f
  • golang.org/x/mod: v0.22.0 → v0.24.0
  • golang.org/x/net: v0.34.0 → v0.38.0
  • golang.org/x/oauth2: v0.24.0 → v0.27.0
  • golang.org/x/sync: v0.10.0 → v0.14.0
  • golang.org/x/sys: v0.29.0 → v0.33.0
  • golang.org/x/term: v0.28.0 → v0.30.0
  • golang.org/x/text: v0.21.0 → v0.24.0
  • golang.org/x/time: v0.9.0 → v0.11.0
  • golang.org/x/tools: v0.28.0 → v0.31.0
  • google.golang.org/genproto/googleapis/api: f6391c0 → e6fa225
  • google.golang.org/genproto/googleapis/rpc: f6391c0 → e6fa225
  • google.golang.org/grpc: v1.65.0 → v1.68.1
  • google.golang.org/protobuf: v1.36.1 → v1.36.5
  • k8s.io/api: v0.32.0 → v0.33.0
  • k8s.io/apimachinery: v0.32.0 → v0.33.0
  • k8s.io/apiserver: v0.32.0 → v0.33.0
  • k8s.io/client-go: v0.32.0 → v0.33.0
  • k8s.io/cloud-provider: v0.32.0 → v0.33.0
  • k8s.io/component-base: v0.32.0 → v0.33.0
  • k8s.io/component-helpers: v0.32.0 → v0.33.0
  • k8s.io/controller-manager: v0.32.0 → v0.33.0
  • k8s.io/cri-api: v0.32.0 → v0.33.0
  • k8s.io/kms: v0.32.0 → v0.33.0
  • k8s.io/kube-openapi: 32ad38e → c8a335a
  • k8s.io/kubelet: v0.32.0 → v0.33.0
  • k8s.io/utils: 6fe5fd8 → 24370be
  • sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.31.0 → v0.31.2
  • sigs.k8s.io/cloud-provider-azure/pkg/azclient/cache: v0.3.0 → v0.6.1
  • sigs.k8s.io/cloud-provider-azure/pkg/azclient/configloader: v0.3.3 → v0.5.3
  • sigs.k8s.io/cloud-provider-azure/pkg/azclient: v0.4.7 → v0.6.2
  • sigs.k8s.io/structured-merge-diff/v4: v4.4.2 → v4.6.0

Removed

  • github.com/Azure/azure-kusto-go/azkustodata: 5
  • github.com/Azure/azure-kusto-go/azkustoingest: 5
  • github.com/Azure/azure-sdk-for-go/sdk/containers/azcontainerregistry: v0.2.2
  • github.com/Azure/azure-sdk-for-go/sdk/storage/azblob: v1.4.0
  • github.com/Azure/azure-sdk-for-go/sdk/storage/azqueue: v1.0.0
  • github.com/Azure/azure-sdk-for-go: v68.0.0+incompatible
  • github.com/Azure/go-autorest/autorest/adal: v0.9.24
  • github.com/Azure/go-autorest/autorest/date: v0.3.0
  • github.com/Azure/go-autorest/autorest/mocks: v0.4.2
  • github.com/Azure/go-autorest/autorest/to: v0.4.0
  • github.com/Azure/go-autorest/autorest: v0.11.29
  • github.com/Azure/go-autorest/logger: v0.2.1
  • github.com/Azure/go-autorest/tracing: v0.6.0
  • github.com/Azure/go-autorest: v14.2.0+incompatible
  • github.com/asaskevich/govalidator: a9d515a
  • github.com/chzyer/readline: v1.5.1
  • github.com/go-kit/log: v0.2.1
  • github.com/go-logfmt/logfmt: v0.5.1
  • github.com/gofrs/uuid: v4.4.0+incompatible
  • github.com/golang-jwt/jwt: v3.2.1+incompatible
  • github.com/ianlancetaylor/demangle: bd984b5
  • github.com/shopspring/decimal: v1.4.0
  • github.com/tj/assert: v0.0.3
  • golang.org/x/telemetry: bda5523
  • gopkg.in/square/go-jose.v2: v2.6.0