Skip to content

v0.5.0

Compare
Choose a tag to compare
@CecileRobertMichon CecileRobertMichon released this 12 Jul 22:02
92c88f2

v0.5.0 (v1alpha4)

Cluster API support

This release supports the v1alpha4/v0.4.x version of Cluster API

Getting started

Quick start: https://cluster-api.sigs.k8s.io/user/quick-start.html

πŸ”¦ Highlights

Multi-tenancy

The capability to set credentials using environment variables is now deprecated and will be removed in future releases, the recommended approach is to use AzureClusterIdentity as explained here.

AzureMachinePool rolling upgrades

Introduced AzureMachinePool rolling upgrade strategy with cordon and drain which provides MaxSurge, MaxUnavailable, and DeletePolicy options modeled after MachineDeployments.

GPU nodes with NVIDIA operator

The β€œnvidia-gpu” flavor now uses the nvidia gpu-operator for installing and managing gpu components. gpu-operator is installed using a ClusterResourceSet.

Added Private Cluster flexibility

Ability to configure Node outbound, and Control Plane Outbound load balancer for private clusters providing the option to have more than one frontend IPs. This also provides the ability to disable the outbound load balancers for private clusters thereby reducing the number of components exposed to the internet.

Changelog since v0.4.15

⚠️ Breaking Changes

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

  • Renamed AzureMachinePool, AzureManagedControlPlane, AzureManagedMachinePool, AzureManagedCluster api group to infrastructure.x-k8s.io:
    • The API group for AzureMachinePool, AzureManagedControlPlane, AzureManagedMachinePool, and AzureManagedCluster was renamed from exp.infrastructure.x-k8s.io to infrastructure.x-k8s.io. Previously created AzureMachinePool, AzureManagedControlPlane, AzureManagedMachinePool, AzureManagedCluster objects under the exp.infrastructure.x-k8s.io group are no longer supported and will not reconcile. In order to migrate your existing clusters using the experimental MachinePool and AKS features, it is recommended to either create a new cluster and migrate workloads, or migrate your existing MachinePool and ManagedCluster objects using a tool like Kubernetes CustomResourceDefinition Migration Tool. (#1389, @CecileRobertMichon)

Changes by Kind

✨ Feature

  • Add Azure machine pool rolling upgrades with MaxSurge, MaxUnavailable and DeletePolicy. (#1332, @devigned)
  • Add deprecation warning for using credentials from environment variables (#1477, @nader-ziada)
  • Added new field to SubnetSpec so that users can specify the Nat Gateway to use when creating subnets. (#1188, @fiunchinho)
  • Added support for using Azure Bastion to get console access to virtual machines in the cluster through the Azure Portal. (#1300, @whites11)
  • Allow using Marketplace images in AzureMachinePools.
    Allow using Shared Image Gallery images requiring a Plan in AzureMachines and AzureMachinePools. (#1469, @whites11)
  • Cordon and drain AzureMachinePoolMachines prior to delete or upgrade operations (#1435, @devigned)
  • Expose cloud provider backoff config (#1415, @Ankitasw)
  • Expose cloud provider rate limit config (#1373, @shysank)
  • Immutable validation for AzureMachine update (#1409, @shivi28)
  • Make LB IdleTimeoutInMinutes configurable (#1413, @CecileRobertMichon)
  • Make control plane outbound lb configurable (#1466, @shysank)
  • Multitenancy for managed clusters. (#1386, @shysank)
  • SinglePlacementGroup=false for Azure VMSS (MachinePool) (#1492, @jackfrancis)
  • Update aad-pod-identity to v1.8.0 which upgrades CRDs from apiextensions/v1beta1 to apiextensions/v1
  • Additional Tags for managed clusters (#1393, @LochanRn)
  • Make azure credentials optional in manager deployment (#1445, @CecileRobertMichon)
  • Update Windows VM naming to use the AzureMachine name as prefix (#1408, @CecileRobertMichon)
  • Change OSDisk.DiskSizeGB to be optional (#1398, @nader-ziada)
  • Added support for externally managed infrastructure (#1389, @CecileRobertMichon)

πŸ“– Documentation

  • Add documentation for using Flannel as CNI (#1374, @lastcoolnameleft)
  • Fix broken link in docs after clusterctl changes (#1476, @fiunchinho)
  • Update the AzureMachinePool docs with deployment strategy, delete policy, and AzureMachinePoolMachine details. (#1459, @devigned)

πŸ› Bug or Regression

  • AzureClusterIdentity should not have an owner reference of a Cluster (#1506, @nader-ziada)
  • Don't delete AzureIdentities from other Clusters (#1502, @CecileRobertMichon)
  • Fix deletion and speed up provisioning for CAPI clusters using AzureManagedCluster + AzureManagedControlPlane (AKS). (#1397, @alexeldeib)
  • Fix nil panic in AzureMachinePoolMachine scope when no node is found for the providerID (#1490, @devigned)
  • Make azure.json secret key backward compatible.
    *- This be removed in capz v0.6.x, and you should use the new control-plane-azure.json and worker-node-azure.json fields for configuring your clusters ** (#1405, @shysank)
  • Save subnet details back to scope when reconciling already existing subnets (#1401, @fiunchinho)

πŸ”§ Other (Cleanup or Flake)

🌱 Dependencies

Added

  • bazil.org/fuse: 371fbbd
  • cloud.google.com/go/firestore: v1.1.0
  • github.com/Microsoft/go-winio: v0.5.0
  • github.com/Microsoft/hcsshim/test: 43a75bb
  • github.com/Microsoft/hcsshim: v0.8.16
  • github.com/Shopify/logrus-bugsnag: 577dee2
  • github.com/alexflint/go-filemutex: 72bdc8e
  • github.com/antihax/optional: v1.0.0
  • github.com/bitly/go-simplejson: v0.5.0
  • github.com/bketelsen/crypt: v0.0.4
  • github.com/bmizerany/assert: b7ed37b
  • github.com/bshuster-repo/logrus-logstash-hook: v0.4.1
  • github.com/buger/jsonparser: f4dd9f5
  • github.com/bugsnag/bugsnag-go: b1d1530
  • github.com/bugsnag/osext: 0dd3f91
  • github.com/bugsnag/panicwrap: e2c2850
  • github.com/checkpoint-restore/go-criu/v4: v4.1.0
  • github.com/cilium/ebpf: v0.4.0
  • github.com/containerd/aufs: v1.0.0
  • github.com/containerd/btrfs: v1.0.0
  • github.com/containerd/cgroups: v1.0.1
  • github.com/containerd/console: v1.0.2
  • github.com/containerd/containerd: v1.5.2
  • github.com/containerd/continuity: v0.1.0
  • github.com/containerd/fifo: v1.0.0
  • github.com/containerd/go-cni: v1.0.2
  • github.com/containerd/go-runc: v1.0.0
  • github.com/containerd/imgcrypt: v1.1.1
  • github.com/containerd/nri: v0.1.0
  • github.com/containerd/ttrpc: v1.0.2
  • github.com/containerd/typeurl: v1.0.2
  • github.com/containerd/zfs: v1.0.0
  • github.com/containernetworking/cni: v0.8.1
  • github.com/containernetworking/plugins: v0.9.1
  • github.com/containers/ocicrypt: v1.1.1
  • github.com/coredns/caddy: v1.1.0
  • github.com/coreos/go-systemd/v22: v22.3.2
  • github.com/cyphar/filepath-securejoin: v0.2.2
  • github.com/d2g/dhcp4: a1d1b6c
  • github.com/d2g/dhcp4client: v1.0.0
  • github.com/d2g/dhcp4server: 7d4a0a7
  • github.com/d2g/hardwareaddr: e7d9fbe
  • github.com/denverdino/aliyungo: a747050
  • github.com/dnaeon/go-vcr: v1.0.1
  • github.com/docker/go-connections: v0.4.0
  • github.com/docker/go-events: e31b211
  • github.com/docker/go-metrics: v0.0.1
  • github.com/docker/libtrust: fa56704
  • github.com/drone/envsubst/v2: 7bf45db
  • github.com/evanphx/json-patch/v5: v5.2.0
  • github.com/frankban/quicktest: v1.11.3
  • github.com/fullsailor/pkcs7: d7302db
  • github.com/fvbommel/sortorder: v1.0.1
  • github.com/garyburd/redigo: 535138d
  • github.com/go-errors/errors: v1.0.1
  • github.com/go-ini/ini: v1.25.4
  • github.com/go-kit/log: v0.1.0
  • github.com/go-task/slim-sprig: 348f09d
  • github.com/gobuffalo/here: v0.6.0
  • github.com/godbus/dbus/v5: v5.0.4
  • github.com/godbus/dbus: ade71ed
  • github.com/google/go-github/v33: v33.0.0
  • github.com/google/shlex: e7afc7f
  • github.com/gorilla/handlers: 60c7bfd
  • github.com/j-keck/arping: 2cf9dc6
  • github.com/jessevdk/go-flags: v1.4.0
  • github.com/klauspost/compress: v1.11.13
  • github.com/kr/fs: v0.1.0
  • github.com/markbates/pkger: v0.17.1
  • github.com/marstr/guid: v1.1.0
  • github.com/mattn/go-shellwords: v1.0.3
  • github.com/miekg/pkcs11: v1.0.3
  • github.com/mistifyio/go-zfs: f784269
  • github.com/mitchellh/osext: 5e2d6d4
  • github.com/moby/locker: v1.0.1
  • github.com/moby/spdystream: v0.2.0
  • github.com/moby/sys/mountinfo: v0.4.1
  • github.com/moby/sys/symlink: v0.1.0
  • github.com/moby/term: df9cb8a
  • github.com/monochromegane/go-gitignore: 205db1a
  • github.com/morikuni/aec: v1.0.0
  • github.com/mrunalp/fileutils: v0.5.0
  • github.com/ncw/swift: v1.0.47
  • github.com/niemeyer/pretty: a10e7ca
  • github.com/opencontainers/image-spec: v1.0.1
  • github.com/opencontainers/runc: v1.0.0-rc93
  • github.com/opencontainers/runtime-spec: e6143ca
  • github.com/opencontainers/runtime-tools: 1d69bd0
  • github.com/opencontainers/selinux: v1.8.0
  • github.com/pkg/sftp: v1.10.1
  • github.com/safchain/ethtool: 42ed695
  • github.com/satori/go.uuid: v1.2.0
  • github.com/seccomp/libseccomp-golang: v0.9.1
  • github.com/stefanberger/go-pkcs11uri: 78d3cae
  • github.com/stoewer/go-strcase: v1.2.0
  • github.com/syndtr/gocapability: 42c35b4
  • github.com/tchap/go-patricia: v2.2.6+incompatible
  • github.com/vishvananda/netlink: d40f988
  • github.com/vishvananda/netns: db3c7e5
  • github.com/willf/bitset: v1.1.11
  • github.com/xeipuuv/gojsonpointer: 4e3ac27
  • github.com/xeipuuv/gojsonreference: bd5ef7b
  • github.com/xeipuuv/gojsonschema: 1d52303
  • github.com/xlab/treeprint: a009c39
  • github.com/yvasiyarov/go-metrics: 57bccd1
  • github.com/yvasiyarov/gorelic: a9bba5b
  • github.com/yvasiyarov/newrelic_platform_go: b21fdbd
  • go.etcd.io/etcd/api/v3: v3.5.0
  • go.etcd.io/etcd/client/pkg/v3: v3.5.0
  • go.etcd.io/etcd/client/v2: v2.305.0
  • go.etcd.io/etcd/client/v3: v3.5.0
  • go.mozilla.org/pkcs7: 432b235
  • go.opentelemetry.io/otel/metric: v0.20.0
  • go.opentelemetry.io/otel/oteltest: v0.20.0
  • go.opentelemetry.io/otel/sdk/export/metric: v0.20.0
  • go.opentelemetry.io/otel/sdk/metric: v0.20.0
  • go.opentelemetry.io/otel/trace: v0.20.0
  • go.starlark.net: 8dd3e2e
  • go.uber.org/goleak: v1.1.10
  • google.golang.org/cloud: 975617b
  • gopkg.in/airbrake/gobrake.v2: v2.0.9
  • gopkg.in/gemnasium/logrus-airbrake-hook.v2: v2.1.2
  • gotest.tools/v3: v3.0.3
  • k8s.io/component-helpers: v0.21.2
  • k8s.io/cri-api: v0.20.6
  • k8s.io/kubernetes: v1.13.0
  • sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.0.19
  • sigs.k8s.io/cluster-api/test: v0.4.0
  • sigs.k8s.io/kustomize/api: v0.8.8
  • sigs.k8s.io/kustomize/cmd/config: v0.9.10
  • sigs.k8s.io/kustomize/kustomize/v4: v4.1.2
  • sigs.k8s.io/kustomize/kyaml: v0.10.17
  • sigs.k8s.io/structured-merge-diff/v4: v4.1.0

Changed

Removed

  • github.com/DataDog/sketches-go: v0.0.1
  • github.com/bifurcation/mint: 93c51c6
  • github.com/caddyserver/caddy: v1.0.3
  • github.com/cheekybits/genny: 9127e81
  • github.com/coreos/go-etcd: v2.0.0+incompatible
  • github.com/cpuguy83/go-md2man: v1.0.10
  • github.com/drone/envsubst: efdb65b
  • github.com/go-acme/lego: v2.5.0+incompatible
  • github.com/golangplus/bytes: 45c989f
  • github.com/golangplus/fmt: 2a5d6d7
  • github.com/google/go-github: v17.0.0+incompatible
  • github.com/gophercloud/gophercloud: v0.1.0
  • github.com/jimstudt/http-authentication: 3eca13d
  • github.com/klauspost/cpuid: v1.2.0
  • github.com/kylelemons/godebug: d65d576
  • github.com/lucas-clemente/aes12: cd47fb3
  • github.com/lucas-clemente/quic-clients: v0.1.0
  • github.com/lucas-clemente/quic-go-certificates: d2f8652
  • github.com/lucas-clemente/quic-go: v0.10.2
  • github.com/marten-seemann/qtls: v0.2.3
  • github.com/mholt/certmagic: 6a42ef9
  • github.com/naoina/go-stringutil: v0.1.0
  • github.com/naoina/toml: v0.1.1
  • github.com/remyoudompheng/bigfft: 52369c6
  • github.com/ugorji/go/codec: d75b2dc
  • github.com/xlab/handysort: fb3537e
  • gonum.org/v1/gonum: 3d26580
  • gonum.org/v1/netlib: 7672324
  • gopkg.in/mcuadros/go-syslog.v2: v2.2.1
  • k8s.io/klog: v1.0.0
  • modernc.org/cc: v1.0.0
  • modernc.org/golex: v1.0.0
  • modernc.org/mathutil: v1.0.0
  • modernc.org/strutil: v1.0.0
  • modernc.org/xc: v1.0.0
  • sigs.k8s.io/kustomize: v2.0.3+incompatible
  • sigs.k8s.io/structured-merge-diff/v2: v2.0.1
  • sigs.k8s.io/structured-merge-diff: 15d366b
  • vbom.ml/util: db5cfe1

Thanks to all our contributors! 😊