Skip to content

Commit

Permalink
Add support for Kubernetes version 1.26 (#1522)
Browse files Browse the repository at this point in the history
* Add support for Kubernetes version 1.26

Signed-off-by: Waleed Malik <[email protected]>

* Switch region for AWS spot instances due to InsufficientInstanceCapacity

Signed-off-by: Waleed Malik <[email protected]>

* Drop configuration related to dynamic kubelet config

Signed-off-by: Waleed Malik <[email protected]>

Signed-off-by: Waleed Malik <[email protected]>
  • Loading branch information
ahmedwaleedmalik authored Jan 9, 2023
1 parent d3c8d41 commit 067a36e
Show file tree
Hide file tree
Showing 143 changed files with 2,650 additions and 4,506 deletions.
5 changes: 0 additions & 5 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,3 @@ issues:
- 'cyclomatic complexity 34 of func `\(\*provider\)\.getConfig` is high'
- 'cyclomatic complexity 31 of func `\(\*provider\)\.Validate` is high'
- 'cyclomatic complexity 33 of func `\(\*provider\)\.Create` is high'
# SA1019: node.Spec.ConfigSource is deprecated: Previously used to specify the source of the node's configuration for the DynamicKubeletConfig feature.
# This feature is removed from Kubelets as of 1.24 and will be fully removed in 1.26. +optional
# We still support setting dynamic kubelet config feature in machine-controller. Hence, ignoring this error.
# TODO: remove this once we remove support for the feature in 1.23
- "SA1019: node.Spec.ConfigSource is deprecated"
4 changes: 4 additions & 0 deletions .prow/provider-openstack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
presubmits:
- name: pull-machine-controller-e2e-openstack
run_if_changed: "(pkg/cloudprovider/provider/openstack/|pkg/userdata)"
# We've made the E2E tests for OpenStack optional since in-tree cloud provider for OpenStack was removed with k8s v1.26. Since MC depends on the in-tree cloud provider
# the tests on k8s v1.26+ will fail.
# TODO: These tests shouldn't be marked as optional.
optional: true
decorate: true
clone_uri: "ssh://[email protected]/kubermatic/machine-controller.git"
labels:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ machine-controller tries to follow the Kubernetes version

Currently supported K8S versions are:

- 1.26
- 1.25
- 1.24
- 1.23

## What does not work

Expand Down
2 changes: 1 addition & 1 deletion examples/alibaba-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,4 @@ spec:
distUpgradeOnBoot: false
disableAutoUpdate: true
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/anexia-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ spec:
distUpgradeOnBoot: false
disableAutoUpdate: true
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/aws-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,4 @@ spec:
# provided the rhsm will be disabled and any created subscription won't be removed automatically
rhsmOfflineToken: "<< REDHAT_SUBSCRIPTIONS_OFFLINE_TOKEN >>"
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/azure-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,4 +92,4 @@ spec:
# provided the rhsm will be disabled and any created subscription won't be removed automatically
rhsmOfflineToken: "<< REDHAT_SUBSCRIPTIONS_OFFLINE_TOKEN >>"
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/digitalocean-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@ spec:
operatingSystemSpec:
disableAutoUpdate: true
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/equinixmetal-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,4 @@ spec:
operatingSystemSpec:
distUpgradeOnBoot: false
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/gce-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,4 @@ spec:
# provided the rhsm will be disabled and any created subscription won't be removed automatically
rhsmOfflineToken: "<< REDHAT_SUBSCRIPTIONS_OFFLINE_TOKEN >>"
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/hetzner-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,4 @@ spec:
operatingSystemSpec:
distUpgradeOnBoot: false
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/kubevirt-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,4 @@ spec:
# provided the rhsm will be disabled and any created subscription won't be removed automatically
rhsmOfflineToken: "<< REDHAT_SUBSCRIPTIONS_OFFLINE_TOKEN >>"
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/linode-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ spec:
operatingSystemSpec:
disableAutoUpdate: true
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/nutanix-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,4 @@ spec:
distUpgradeOnBoot: false
disableAutoUpdate: true
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/openstack-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,4 @@ spec:
# provided the rhsm will be disabled and any created subscription won't be removed automatically
rhsmOfflineToken: "<< REDHAT_SUBSCRIPTIONS_OFFLINE_TOKEN >>"
versions:
kubelet: 1.23.13
kubelet: 1.24.9
4 changes: 2 additions & 2 deletions examples/operating-system-manager.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -975,7 +975,7 @@ spec:
serviceAccountName: operating-system-manager-webhook
containers:
# TODO: Update this to a semver tag before release.
- image: quay.io/kubermatic/operating-system-manager:4f7c5a6873538e922afd70bff41850795657f313
- image: quay.io/kubermatic/operating-system-manager:22c771f4cb686427d94df83946b292d7ff3a06f8
imagePullPolicy: IfNotPresent
name: webhook
command:
Expand Down Expand Up @@ -1304,7 +1304,7 @@ spec:
serviceAccountName: operating-system-manager
containers:
# TODO: Update this to a semver tag before release.
- image: quay.io/kubermatic/operating-system-manager:4f7c5a6873538e922afd70bff41850795657f313
- image: quay.io/kubermatic/operating-system-manager:22c771f4cb686427d94df83946b292d7ff3a06f8
imagePullPolicy: IfNotPresent
name: operating-system-manager
command:
Expand Down
2 changes: 1 addition & 1 deletion examples/scaleway-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,4 @@ spec:
operatingSystemSpec:
disableAutoUpdate: true
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/vmware-cloud-director-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,4 +76,4 @@ spec:
operatingSystemSpec:
distUpgradeOnBoot: false
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/vsphere-datastore-cluster-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,4 @@ spec:
# provided the rhsm will be disabled and any created subscription won't be removed automatically
rhsmOfflineToken: "<< REDHAT_SUBSCRIPTIONS_OFFLINE_TOKEN >>"
versions:
kubelet: 1.23.13
kubelet: 1.24.9
2 changes: 1 addition & 1 deletion examples/vsphere-machinedeployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,4 @@ spec:
# provided the rhsm will be disabled and any created subscription won't be removed automatically
rhsmOfflineToken: "<< REDHAT_SUBSCRIPTIONS_OFFLINE_TOKEN >>"
versions:
kubelet: 1.23.13
kubelet: 1.24.9
93 changes: 47 additions & 46 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,31 @@ module github.com/kubermatic/machine-controller
go 1.19

require (
cloud.google.com/go/logging v1.5.0
cloud.google.com/go/monitoring v1.9.0
cloud.google.com/go/logging v1.6.1
cloud.google.com/go/monitoring v1.9.1
github.com/Azure/azure-sdk-for-go v65.0.0+incompatible
github.com/Azure/go-autorest/autorest/azure/auth v0.5.11
github.com/Azure/go-autorest/autorest/to v0.4.0
github.com/BurntSushi/toml v1.2.1
github.com/Masterminds/semver/v3 v3.2.0
github.com/Masterminds/sprig/v3 v3.2.2
github.com/aliyun/alibaba-cloud-sdk-go v1.62.47
github.com/aws/aws-sdk-go-v2 v1.17.1
github.com/aws/aws-sdk-go-v2/config v1.18.3
github.com/aws/aws-sdk-go-v2/credentials v1.13.3
github.com/aws/aws-sdk-go-v2/service/ec2 v1.73.0
github.com/aws/aws-sdk-go-v2/service/sts v1.17.5
github.com/aws/smithy-go v1.13.4
github.com/Masterminds/sprig/v3 v3.2.3
github.com/aliyun/alibaba-cloud-sdk-go v1.62.112
github.com/aws/aws-sdk-go-v2 v1.17.3
github.com/aws/aws-sdk-go-v2/config v1.18.7
github.com/aws/aws-sdk-go-v2/credentials v1.13.7
github.com/aws/aws-sdk-go-v2/service/ec2 v1.77.0
github.com/aws/aws-sdk-go-v2/service/sts v1.17.7
github.com/aws/smithy-go v1.13.5
github.com/coreos/container-linux-config-transpiler v0.9.0
github.com/davecgh/go-spew v1.1.1
github.com/digitalocean/godo v1.91.1
github.com/digitalocean/godo v1.93.0
github.com/ghodss/yaml v1.0.0
github.com/go-test/deep v1.0.8
github.com/google/uuid v1.3.0
github.com/gophercloud/gophercloud v1.0.0
github.com/gophercloud/gophercloud v1.1.1
github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb
github.com/hetznercloud/hcloud-go v1.37.0
github.com/linode/linodego v1.9.3
github.com/hetznercloud/hcloud-go v1.39.0
github.com/linode/linodego v1.10.0
github.com/nutanix-cloud-native/prism-go-client v0.3.4
github.com/packethost/packngo v0.29.0
github.com/patrickmn/go-cache v2.1.0+incompatible
Expand All @@ -38,13 +38,13 @@ require (
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.10
github.com/sethvargo/go-password v0.2.0
github.com/tinkerbell/tink v0.8.0
github.com/vmware/go-vcloud-director/v2 v2.17.0
github.com/vmware/govmomi v0.29.0
go.anx.io/go-anxcloud v0.4.6
golang.org/x/crypto v0.3.0
golang.org/x/oauth2 v0.2.0
github.com/vmware/go-vcloud-director/v2 v2.18.0
github.com/vmware/govmomi v0.30.0
go.anx.io/go-anxcloud v0.5.0
golang.org/x/crypto v0.4.0
golang.org/x/oauth2 v0.3.0
gomodules.xyz/jsonpatch/v2 v2.2.0
google.golang.org/api v0.103.0
google.golang.org/api v0.105.0
google.golang.org/grpc v1.51.0
gopkg.in/gcfg.v1 v1.2.3
gopkg.in/yaml.v3 v3.0.1
Expand All @@ -56,15 +56,15 @@ require (
k8s.io/kubelet v0.26.0
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448
kubevirt.io/api v0.58.0
kubevirt.io/containerized-data-importer-api v1.55.1
kubevirt.io/containerized-data-importer-api v1.55.2
sigs.k8s.io/controller-runtime v0.14.1
sigs.k8s.io/yaml v1.3.0
)

require (
cloud.google.com/go v0.107.0 // indirect
cloud.google.com/go/compute v1.12.1 // indirect
cloud.google.com/go/compute/metadata v0.2.1 // indirect
cloud.google.com/go/compute v1.14.0 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect
cloud.google.com/go/longrunning v0.3.0 // indirect
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
github.com/Azure/go-autorest/autorest v0.11.28 // indirect
Expand All @@ -81,16 +81,16 @@ require (
github.com/ajeddeloh/yaml v0.0.0-20170912190910-6b94386aeefd // indirect
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.19 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.25 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.26 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.11.25 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.8 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.21 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.28 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.21 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.11.28 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.11 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/coreos/go-semver v0.3.0 // indirect
github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf // indirect
github.com/coreos/ignition v0.35.0 // indirect
Expand All @@ -103,25 +103,25 @@ require (
github.com/go-logr/logr v1.2.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-logr/zapr v1.2.3 // indirect
github.com/go-openapi/jsonpointer v0.19.5 // indirect
github.com/go-openapi/jsonreference v0.20.0 // indirect
github.com/go-openapi/jsonpointer v0.19.6 // indirect
github.com/go-openapi/jsonreference v0.20.1 // indirect
github.com/go-openapi/swag v0.22.3 // indirect
github.com/go-resty/resty/v2 v2.7.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt/v4 v4.4.2 // indirect
github.com/golang-jwt/jwt/v4 v4.4.3 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/gnostic v0.6.9 // indirect
github.com/google/go-cmp v0.5.9 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.2.1 // indirect
github.com/googleapis/gax-go/v2 v2.7.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
github.com/huandu/xstrings v1.3.3 // indirect
github.com/huandu/xstrings v1.4.0 // indirect
github.com/imdario/mergo v0.3.13 // indirect
github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
Expand All @@ -142,30 +142,31 @@ require (
github.com/packethost/pkg v0.0.0-20211110202003-387414657e83 // indirect
github.com/peterhellberg/link v1.2.0 // indirect
github.com/prometheus/client_model v0.3.0 // indirect
github.com/prometheus/common v0.37.0 // indirect
github.com/prometheus/procfs v0.8.0 // indirect
github.com/prometheus/common v0.39.0 // indirect
github.com/prometheus/procfs v0.9.0 // indirect
github.com/rogpeppe/go-internal v1.9.0 // indirect
github.com/shopspring/decimal v1.3.1 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cobra v1.6.1 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/vincent-petithory/dataurl v1.0.0 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.4 // indirect
go.opentelemetry.io/otel v1.11.1 // indirect
go.opentelemetry.io/otel/trace v1.11.1 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.37.0 // indirect
go.opentelemetry.io/otel v1.11.2 // indirect
go.opentelemetry.io/otel/metric v0.34.0 // indirect
go.opentelemetry.io/otel/trace v1.11.2 // indirect
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/multierr v1.8.0 // indirect
go.uber.org/multierr v1.9.0 // indirect
go.uber.org/zap v1.24.0 // indirect
go4.org v0.0.0-20201209231011-d4a079459e60 // indirect
golang.org/x/net v0.3.1-0.20221206200815-1e63c2f08a10 // indirect
golang.org/x/net v0.4.0 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.3.0 // indirect
golang.org/x/term v0.3.0 // indirect
golang.org/x/text v0.5.0 // indirect
golang.org/x/time v0.3.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 // indirect
google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect
google.golang.org/protobuf v1.28.1 // indirect
gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
Expand All @@ -174,7 +175,7 @@ require (
gopkg.in/yaml.v2 v2.4.0 // indirect
k8s.io/component-base v0.26.0 // indirect
k8s.io/klog/v2 v2.80.1 // indirect
k8s.io/kube-openapi v0.0.0-20221123214604-86e75ddd809a // indirect
k8s.io/kube-openapi v0.0.0-20221207184640-f3cff1453715 // indirect
kubevirt.io/controller-lifecycle-operator-sdk/api v0.2.4 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
Expand Down
Loading

0 comments on commit 067a36e

Please sign in to comment.