feat: update Kubernetes to v1.26.0-rc.0

Removed deprecated arg from the kubelet spec, as the arg is going to be
removed completely in v1.27 (kubelet defaults to remote CRI anyways).

Go modules not updated due to https://github.com/kubernetes/kubernetes/issues/113951

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
This commit is contained in:
Andrey Smirnov 2022-11-16 16:31:06 +04:00
parent 6ffc381c59
commit 9382443baa
No known key found for this signature in database
GPG Key ID: 7B26396447AB6DFD
10 changed files with 30 additions and 27 deletions

View File

@ -30,7 +30,7 @@ OPERATING_SYSTEM := $(shell uname -s | tr "[:upper:]" "[:lower:]")
TALOSCTL_DEFAULT_TARGET := talosctl-$(OPERATING_SYSTEM) TALOSCTL_DEFAULT_TARGET := talosctl-$(OPERATING_SYSTEM)
INTEGRATION_TEST_DEFAULT_TARGET := integration-test-$(OPERATING_SYSTEM) INTEGRATION_TEST_DEFAULT_TARGET := integration-test-$(OPERATING_SYSTEM)
INTEGRATION_TEST_PROVISION_DEFAULT_TARGET := integration-test-provision-$(OPERATING_SYSTEM) INTEGRATION_TEST_PROVISION_DEFAULT_TARGET := integration-test-provision-$(OPERATING_SYSTEM)
KUBECTL_URL ?= https://storage.googleapis.com/kubernetes-release/release/v1.26.0-beta.0/bin/$(OPERATING_SYSTEM)/amd64/kubectl KUBECTL_URL ?= https://storage.googleapis.com/kubernetes-release/release/v1.26.0-rc.0/bin/$(OPERATING_SYSTEM)/amd64/kubectl
KUBESTR_URL ?= https://github.com/kastenhq/kubestr/releases/download/v0.4.34/kubestr_0.4.34_Linux_amd64.tar.gz KUBESTR_URL ?= https://github.com/kastenhq/kubestr/releases/download/v0.4.34/kubestr_0.4.34_Linux_amd64.tar.gz
HELM_URL ?= https://get.helm.sh/helm-v3.9.2-linux-amd64.tar.gz HELM_URL ?= https://get.helm.sh/helm-v3.9.2-linux-amd64.tar.gz
CLUSTERCTL_VERSION ?= 1.1.3 CLUSTERCTL_VERSION ?= 1.1.3

7
cri.patch Normal file
View File

@ -0,0 +1,7 @@
machine:
files:
- content: |
[metrics]
address = "0.0.0.0:11234"
path: /etc/cri/conf.d/20-customization.part
op: create

View File

@ -49,7 +49,7 @@ Refer to the docs at https://www.talos.dev/v1.3/talos-guides/install/single-boar
[notes.updates] [notes.updates]
title = "Component Updates" title = "Component Updates"
description="""\ description="""\
* Kubernetes: v1.26.0-beta.0 * Kubernetes: v1.26.0-rc.0
* Flannel: v0.20.1 * Flannel: v0.20.1
* CoreDNS: v1.10.0 * CoreDNS: v1.10.0
* etcd: v3.5.5 * etcd: v3.5.5

View File

@ -30,7 +30,7 @@ export TALOS_VERSION=v1.1
# Kubernetes # Kubernetes
export KUBECONFIG="${TMP}/kubeconfig" export KUBECONFIG="${TMP}/kubeconfig"
export KUBERNETES_VERSION=${KUBERNETES_VERSION:-1.26.0-beta.0} export KUBERNETES_VERSION=${KUBERNETES_VERSION:-1.26.0-rc.0}
export NAME_PREFIX="talos-e2e-${SHA}-${PLATFORM}" export NAME_PREFIX="talos-e2e-${SHA}-${PLATFORM}"
export TIMEOUT=1200 export TIMEOUT=1200

View File

@ -109,7 +109,6 @@ func (ctrl *KubeletSpecController) Run(ctx context.Context, r controller.Runtime
expectedNodename := nodenameSpec.Nodename expectedNodename := nodenameSpec.Nodename
args := argsbuilder.Args{ args := argsbuilder.Args{
"container-runtime": "remote",
"container-runtime-endpoint": "unix://" + constants.CRIContainerdAddress, "container-runtime-endpoint": "unix://" + constants.CRIContainerdAddress,
"config": "/etc/kubernetes/kubelet.yaml", "config": "/etc/kubernetes/kubelet.yaml",

View File

@ -128,7 +128,6 @@ func (suite *KubeletSpecSuite) TestReconcileDefault() {
"--cert-dir=/var/lib/kubelet/pki", "--cert-dir=/var/lib/kubelet/pki",
"--cloud-provider=external", "--cloud-provider=external",
"--config=/etc/kubernetes/kubelet.yaml", "--config=/etc/kubernetes/kubelet.yaml",
"--container-runtime=remote",
"--container-runtime-endpoint=unix:///run/containerd/containerd.sock", "--container-runtime-endpoint=unix:///run/containerd/containerd.sock",
"--foo=bar", "--foo=bar",
"--hostname-override=example.com", "--hostname-override=example.com",
@ -189,7 +188,6 @@ func (suite *KubeletSpecSuite) TestReconcileWithExplicitNodeIP() {
"--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubeconfig", "--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubeconfig",
"--cert-dir=/var/lib/kubelet/pki", "--cert-dir=/var/lib/kubelet/pki",
"--config=/etc/kubernetes/kubelet.yaml", "--config=/etc/kubernetes/kubelet.yaml",
"--container-runtime=remote",
"--container-runtime-endpoint=unix:///run/containerd/containerd.sock", "--container-runtime-endpoint=unix:///run/containerd/containerd.sock",
"--hostname-override=example.com", "--hostname-override=example.com",
"--kubeconfig=/etc/kubernetes/kubeconfig-kubelet", "--kubeconfig=/etc/kubernetes/kubeconfig-kubelet",
@ -320,7 +318,6 @@ func (suite *KubeletSpecSuite) TestReconcileWithSkipNodeRegistration() {
suite.Assert().Equal([]string{ suite.Assert().Equal([]string{
"--cert-dir=/var/lib/kubelet/pki", "--cert-dir=/var/lib/kubelet/pki",
"--config=/etc/kubernetes/kubelet.yaml", "--config=/etc/kubernetes/kubelet.yaml",
"--container-runtime=remote",
"--container-runtime-endpoint=unix:///run/containerd/containerd.sock", "--container-runtime-endpoint=unix:///run/containerd/containerd.sock",
"--hostname-override=foo.com", "--hostname-override=foo.com",
"--node-ip=172.20.0.3", "--node-ip=172.20.0.3",

View File

@ -294,7 +294,7 @@ const (
SeccompProfilesDirectory = "/var/lib/kubelet/seccomp/profiles" SeccompProfilesDirectory = "/var/lib/kubelet/seccomp/profiles"
// DefaultKubernetesVersion is the default target version of the control plane. // DefaultKubernetesVersion is the default target version of the control plane.
DefaultKubernetesVersion = "1.26.0-beta.0" DefaultKubernetesVersion = "1.26.0-rc.0"
// DefaultControlPlanePort is the default port to use for the control plane. // DefaultControlPlanePort is the default port to use for the control plane.
DefaultControlPlanePort = 6443 DefaultControlPlanePort = 6443

View File

@ -5,7 +5,7 @@ linkTitle: "Documentation"
cascade: cascade:
type: docs type: docs
lastRelease: v1.3.0-alpha.1 lastRelease: v1.3.0-alpha.1
kubernetesRelease: "1.26.0-beta.0" kubernetesRelease: "1.26.0-rc.0"
prevKubernetesRelease: "1.25.3" prevKubernetesRelease: "1.25.3"
theilaRelease: "v0.2.1" theilaRelease: "v0.2.1"
nvidiaContainerToolkitRelease: "v1.10.0" nvidiaContainerToolkitRelease: "v1.10.0"

View File

@ -131,7 +131,7 @@ talosctl cluster create [flags]
--ipv4 enable IPv4 network in the cluster (default true) --ipv4 enable IPv4 network in the cluster (default true)
--ipv6 enable IPv6 network in the cluster (QEMU provisioner only) --ipv6 enable IPv6 network in the cluster (QEMU provisioner only)
--iso-path string the ISO path to use for the initial boot (VM only) --iso-path string the ISO path to use for the initial boot (VM only)
--kubernetes-version string desired kubernetes version to run (default "1.26.0-beta.0") --kubernetes-version string desired kubernetes version to run (default "1.26.0-rc.0")
--memory int the limit on memory usage in MB (each control plane/VM) (default 2048) --memory int the limit on memory usage in MB (each control plane/VM) (default 2048)
--memory-workers int the limit on memory usage in MB (each worker/VM) (default 2048) --memory-workers int the limit on memory usage in MB (each worker/VM) (default 2048)
--mtu int MTU of the cluster network (default 1500) --mtu int MTU of the cluster network (default 1500)
@ -1134,7 +1134,7 @@ talosctl gen config <cluster name> <cluster endpoint> [flags]
-h, --help help for config -h, --help help for config
--install-disk string the disk to install to (default "/dev/sda") --install-disk string the disk to install to (default "/dev/sda")
--install-image string the image used to perform an installation (default "ghcr.io/siderolabs/installer:latest") --install-image string the image used to perform an installation (default "ghcr.io/siderolabs/installer:latest")
--kubernetes-version string desired kubernetes version to run (default "1.26.0-beta.0") --kubernetes-version string desired kubernetes version to run (default "1.26.0-rc.0")
-o, --output-dir string destination to output generated files -o, --output-dir string destination to output generated files
-p, --persist the desired persist value for configs (default true) -p, --persist the desired persist value for configs (default true)
--registry-mirror strings list of registry mirrors to use in format: <registry host>=<mirror URL> --registry-mirror strings list of registry mirrors to use in format: <registry host>=<mirror URL>
@ -2245,7 +2245,7 @@ talosctl upgrade-k8s [flags]
--endpoint string the cluster control plane endpoint --endpoint string the cluster control plane endpoint
--from string the Kubernetes control plane version to upgrade from --from string the Kubernetes control plane version to upgrade from
-h, --help help for upgrade-k8s -h, --help help for upgrade-k8s
--to string the Kubernetes control plane version to upgrade to (default "1.26.0-beta.0") --to string the Kubernetes control plane version to upgrade to (default "1.26.0-rc.0")
--upgrade-kubelet upgrade kubelet service (default true) --upgrade-kubelet upgrade kubelet service (default true)
``` ```

View File

@ -102,7 +102,7 @@ controlPlane:
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`kubelet` |<a href="#kubeletconfig">KubeletConfig</a> |Used to provide additional options to the kubelet. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`kubelet` |<a href="#kubeletconfig">KubeletConfig</a> |Used to provide additional options to the kubelet. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
kubelet: kubelet:
image: ghcr.io/siderolabs/kubelet:v1.26.0-beta.0 # The `image` field is an optional reference to an alternative kubelet image. image: ghcr.io/siderolabs/kubelet:v1.26.0-rc.0 # The `image` field is an optional reference to an alternative kubelet image.
# The `extraArgs` field is used to provide additional flags to the kubelet. # The `extraArgs` field is used to provide additional flags to the kubelet.
extraArgs: extraArgs:
feature-gates: ServerSideApply=true feature-gates: ServerSideApply=true
@ -509,7 +509,7 @@ serviceAccount:
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`apiServer` |<a href="#apiserverconfig">APIServerConfig</a> |API server specific configuration options. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`apiServer` |<a href="#apiserverconfig">APIServerConfig</a> |API server specific configuration options. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
apiServer: apiServer:
image: k8s.gcr.io/kube-apiserver:v1.26.0-beta.0 # The container image used in the API server manifest. image: k8s.gcr.io/kube-apiserver:v1.26.0-rc.0 # The container image used in the API server manifest.
# Extra arguments to supply to the API server. # Extra arguments to supply to the API server.
extraArgs: extraArgs:
feature-gates: ServerSideApply=true feature-gates: ServerSideApply=true
@ -548,14 +548,14 @@ apiServer:
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`controllerManager` |<a href="#controllermanagerconfig">ControllerManagerConfig</a> |Controller manager server specific configuration options. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`controllerManager` |<a href="#controllermanagerconfig">ControllerManagerConfig</a> |Controller manager server specific configuration options. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
controllerManager: controllerManager:
image: k8s.gcr.io/kube-controller-manager:v1.26.0-beta.0 # The container image used in the controller manager manifest. image: k8s.gcr.io/kube-controller-manager:v1.26.0-rc.0 # The container image used in the controller manager manifest.
# Extra arguments to supply to the controller manager. # Extra arguments to supply to the controller manager.
extraArgs: extraArgs:
feature-gates: ServerSideApply=true feature-gates: ServerSideApply=true
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`proxy` |<a href="#proxyconfig">ProxyConfig</a> |Kube-proxy server-specific configuration options <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`proxy` |<a href="#proxyconfig">ProxyConfig</a> |Kube-proxy server-specific configuration options <details><summary>Show example(s)</summary>{{< highlight yaml >}}
proxy: proxy:
image: k8s.gcr.io/kube-proxy:v1.26.0-beta.0 # The container image used in the kube-proxy manifest. image: k8s.gcr.io/kube-proxy:v1.26.0-rc.0 # The container image used in the kube-proxy manifest.
mode: ipvs # proxy mode of kube-proxy. mode: ipvs # proxy mode of kube-proxy.
# Extra arguments to supply to kube-proxy. # Extra arguments to supply to kube-proxy.
extraArgs: extraArgs:
@ -566,7 +566,7 @@ proxy:
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`scheduler` |<a href="#schedulerconfig">SchedulerConfig</a> |Scheduler server specific configuration options. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`scheduler` |<a href="#schedulerconfig">SchedulerConfig</a> |Scheduler server specific configuration options. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
scheduler: scheduler:
image: k8s.gcr.io/kube-scheduler:v1.26.0-beta.0 # The container image used in the scheduler manifest. image: k8s.gcr.io/kube-scheduler:v1.26.0-rc.0 # The container image used in the scheduler manifest.
# Extra arguments to supply to the scheduler. # Extra arguments to supply to the scheduler.
extraArgs: extraArgs:
feature-gates: AllBeta=true feature-gates: AllBeta=true
@ -731,7 +731,7 @@ Appears in:
{{< highlight yaml >}} {{< highlight yaml >}}
image: ghcr.io/siderolabs/kubelet:v1.26.0-beta.0 # The `image` field is an optional reference to an alternative kubelet image. image: ghcr.io/siderolabs/kubelet:v1.26.0-rc.0 # The `image` field is an optional reference to an alternative kubelet image.
# The `extraArgs` field is used to provide additional flags to the kubelet. # The `extraArgs` field is used to provide additional flags to the kubelet.
extraArgs: extraArgs:
feature-gates: ServerSideApply=true feature-gates: ServerSideApply=true
@ -768,7 +768,7 @@ extraArgs:
| Field | Type | Description | Value(s) | | Field | Type | Description | Value(s) |
|-------|------|-------------|----------| |-------|------|-------------|----------|
|`image` |string |The `image` field is an optional reference to an alternative kubelet image. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`image` |string |The `image` field is an optional reference to an alternative kubelet image. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
image: ghcr.io/siderolabs/kubelet:v1.26.0-beta.0 image: ghcr.io/siderolabs/kubelet:v1.26.0-rc.0
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`clusterDNS` |[]string |The `ClusterDNS` field is an optional reference to an alternative kubelet clusterDNS ip list. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`clusterDNS` |[]string |The `ClusterDNS` field is an optional reference to an alternative kubelet clusterDNS ip list. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
clusterDNS: clusterDNS:
@ -1366,7 +1366,7 @@ Appears in:
{{< highlight yaml >}} {{< highlight yaml >}}
image: k8s.gcr.io/kube-apiserver:v1.26.0-beta.0 # The container image used in the API server manifest. image: k8s.gcr.io/kube-apiserver:v1.26.0-rc.0 # The container image used in the API server manifest.
# Extra arguments to supply to the API server. # Extra arguments to supply to the API server.
extraArgs: extraArgs:
feature-gates: ServerSideApply=true feature-gates: ServerSideApply=true
@ -1408,7 +1408,7 @@ certSANs:
| Field | Type | Description | Value(s) | | Field | Type | Description | Value(s) |
|-------|------|-------------|----------| |-------|------|-------------|----------|
|`image` |string |The container image used in the API server manifest. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`image` |string |The container image used in the API server manifest. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
image: k8s.gcr.io/kube-apiserver:v1.26.0-beta.0 image: k8s.gcr.io/kube-apiserver:v1.26.0-rc.0
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`extraArgs` |map[string]string |Extra arguments to supply to the API server. | | |`extraArgs` |map[string]string |Extra arguments to supply to the API server. | |
|`extraVolumes` |[]<a href="#volumemountconfig">VolumeMountConfig</a> |Extra volumes to mount to the API server static pod. | | |`extraVolumes` |[]<a href="#volumemountconfig">VolumeMountConfig</a> |Extra volumes to mount to the API server static pod. | |
@ -1494,7 +1494,7 @@ Appears in:
{{< highlight yaml >}} {{< highlight yaml >}}
image: k8s.gcr.io/kube-controller-manager:v1.26.0-beta.0 # The container image used in the controller manager manifest. image: k8s.gcr.io/kube-controller-manager:v1.26.0-rc.0 # The container image used in the controller manager manifest.
# Extra arguments to supply to the controller manager. # Extra arguments to supply to the controller manager.
extraArgs: extraArgs:
feature-gates: ServerSideApply=true feature-gates: ServerSideApply=true
@ -1504,7 +1504,7 @@ extraArgs:
| Field | Type | Description | Value(s) | | Field | Type | Description | Value(s) |
|-------|------|-------------|----------| |-------|------|-------------|----------|
|`image` |string |The container image used in the controller manager manifest. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`image` |string |The container image used in the controller manager manifest. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
image: k8s.gcr.io/kube-controller-manager:v1.26.0-beta.0 image: k8s.gcr.io/kube-controller-manager:v1.26.0-rc.0
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`extraArgs` |map[string]string |Extra arguments to supply to the controller manager. | | |`extraArgs` |map[string]string |Extra arguments to supply to the controller manager. | |
|`extraVolumes` |[]<a href="#volumemountconfig">VolumeMountConfig</a> |Extra volumes to mount to the controller manager static pod. | | |`extraVolumes` |[]<a href="#volumemountconfig">VolumeMountConfig</a> |Extra volumes to mount to the controller manager static pod. | |
@ -1523,7 +1523,7 @@ Appears in:
{{< highlight yaml >}} {{< highlight yaml >}}
image: k8s.gcr.io/kube-proxy:v1.26.0-beta.0 # The container image used in the kube-proxy manifest. image: k8s.gcr.io/kube-proxy:v1.26.0-rc.0 # The container image used in the kube-proxy manifest.
mode: ipvs # proxy mode of kube-proxy. mode: ipvs # proxy mode of kube-proxy.
# Extra arguments to supply to kube-proxy. # Extra arguments to supply to kube-proxy.
extraArgs: extraArgs:
@ -1540,7 +1540,7 @@ extraArgs:
disabled: false disabled: false
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`image` |string |The container image used in the kube-proxy manifest. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`image` |string |The container image used in the kube-proxy manifest. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
image: k8s.gcr.io/kube-proxy:v1.26.0-beta.0 image: k8s.gcr.io/kube-proxy:v1.26.0-rc.0
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`mode` |string |<details><summary>proxy mode of kube-proxy.</summary>The default is 'iptables'.</details> | | |`mode` |string |<details><summary>proxy mode of kube-proxy.</summary>The default is 'iptables'.</details> | |
|`extraArgs` |map[string]string |Extra arguments to supply to kube-proxy. | | |`extraArgs` |map[string]string |Extra arguments to supply to kube-proxy. | |
@ -1558,7 +1558,7 @@ Appears in:
{{< highlight yaml >}} {{< highlight yaml >}}
image: k8s.gcr.io/kube-scheduler:v1.26.0-beta.0 # The container image used in the scheduler manifest. image: k8s.gcr.io/kube-scheduler:v1.26.0-rc.0 # The container image used in the scheduler manifest.
# Extra arguments to supply to the scheduler. # Extra arguments to supply to the scheduler.
extraArgs: extraArgs:
feature-gates: AllBeta=true feature-gates: AllBeta=true
@ -1568,7 +1568,7 @@ extraArgs:
| Field | Type | Description | Value(s) | | Field | Type | Description | Value(s) |
|-------|------|-------------|----------| |-------|------|-------------|----------|
|`image` |string |The container image used in the scheduler manifest. <details><summary>Show example(s)</summary>{{< highlight yaml >}} |`image` |string |The container image used in the scheduler manifest. <details><summary>Show example(s)</summary>{{< highlight yaml >}}
image: k8s.gcr.io/kube-scheduler:v1.26.0-beta.0 image: k8s.gcr.io/kube-scheduler:v1.26.0-rc.0
{{< /highlight >}}</details> | | {{< /highlight >}}</details> | |
|`extraArgs` |map[string]string |Extra arguments to supply to the scheduler. | | |`extraArgs` |map[string]string |Extra arguments to supply to the scheduler. | |
|`extraVolumes` |[]<a href="#volumemountconfig">VolumeMountConfig</a> |Extra volumes to mount to the scheduler static pod. | | |`extraVolumes` |[]<a href="#volumemountconfig">VolumeMountConfig</a> |Extra volumes to mount to the scheduler static pod. | |