From 1366ce14a8b0bf72ac884147497e354fb33ef3fa Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Thu, 15 Feb 2024 18:19:04 +0400 Subject: [PATCH] feat: update Kubernetes to v1.30.0-alpha.2 Talos Linux 1.7.0 will ship with Kubernetes v1.30.0. Drop some compatibility for Kubernetes < 1.25, as 1.25 is the minimum supported version now. Signed-off-by: Andrey Smirnov --- Makefile | 2 +- go.mod | 24 ++++---- go.sum | 56 +++++++++---------- hack/release.toml | 2 +- hack/test/e2e.sh | 2 +- .../pkg/controllers/k8s/kubelet_spec.go | 9 --- .../pkg/controllers/k8s/kubelet_spec_test.go | 16 ------ .../k8s/render_config_static_pods.go | 9 +-- pkg/machinery/constants/constants.go | 2 +- website/content/v1.7/_index.md | 2 +- website/content/v1.7/reference/cli.md | 6 +- .../configuration/v1alpha1/config.md | 30 +++++----- 12 files changed, 66 insertions(+), 94 deletions(-) diff --git a/Makefile b/Makefile index 25653227a3..4c6712fb40 100644 --- a/Makefile +++ b/Makefile @@ -88,7 +88,7 @@ INTEGRATION_TEST_DEFAULT_TARGET := integration-test-$(OPERATING_SYSTEM) MODULE_SIG_VERIFY_DEFAULT_TARGET := module-sig-verify-$(OPERATING_SYSTEM) INTEGRATION_TEST_PROVISION_DEFAULT_TARGET := integration-test-provision-$(OPERATING_SYSTEM) # renovate: datasource=github-releases depName=kubernetes/kubernetes -KUBECTL_VERSION ?= v1.29.1 +KUBECTL_VERSION ?= v1.30.0-alpha.2 # renovate: datasource=github-releases depName=kastenhq/kubestr KUBESTR_VERSION ?= v0.4.41 # renovate: datasource=github-releases depName=helm/helm diff --git a/go.mod b/go.mod index dedcee51cf..153d76b371 100644 --- a/go.mod +++ b/go.mod @@ -15,15 +15,15 @@ replace ( // Kubernetes dependencies sharing the same version. require ( - k8s.io/api v0.29.1 - k8s.io/apimachinery v0.29.1 - k8s.io/apiserver v0.29.1 - k8s.io/client-go v0.29.1 - k8s.io/component-base v0.29.1 - k8s.io/cri-api v0.29.1 - k8s.io/kube-scheduler v0.29.1 - k8s.io/kubectl v0.29.1 - k8s.io/kubelet v0.29.1 + k8s.io/api v0.30.0-alpha.2 + k8s.io/apimachinery v0.30.0-alpha.2 + k8s.io/apiserver v0.30.0-alpha.2 + k8s.io/client-go v0.30.0-alpha.2 + k8s.io/component-base v0.30.0-alpha.2 + k8s.io/cri-api v0.30.0-alpha.2 + k8s.io/kube-scheduler v0.30.0-alpha.2 + k8s.io/kubectl v0.30.0-alpha.2 + k8s.io/kubelet v0.30.0-alpha.2 ) require ( @@ -114,7 +114,7 @@ require ( github.com/siderolabs/go-debug v0.3.0 github.com/siderolabs/go-kmsg v0.1.4 github.com/siderolabs/go-kubeconfig v0.1.0 - github.com/siderolabs/go-kubernetes v0.2.8 + github.com/siderolabs/go-kubernetes v0.2.9 github.com/siderolabs/go-loadbalancer v0.3.2 github.com/siderolabs/go-pcidb v0.2.0 github.com/siderolabs/go-pointer v1.0.0 @@ -332,9 +332,9 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect - k8s.io/cli-runtime v0.29.1 // indirect + k8s.io/cli-runtime v0.30.0-alpha.2 // indirect k8s.io/klog v1.0.0 // indirect - k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect + k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e // indirect k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect kernel.org/pub/linux/libs/security/libcap/psx v1.2.69 // indirect rsc.io/qr v0.2.0 // indirect diff --git a/go.sum b/go.sum index ee00ed80e5..756c423ae7 100644 --- a/go.sum +++ b/go.sum @@ -564,13 +564,13 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.13.2 h1:Bi2gGVkfn6gQcjNjZJVO8Gf0FHzMPf2phUei9tejVMs= -github.com/onsi/ginkgo/v2 v2.13.2/go.mod h1:XStQ8QcGwLyF4HdfcZB8SFOS/MWCgDuXMSBe6zrvLgM= +github.com/onsi/ginkgo/v2 v2.15.0 h1:79HwNRBAZHOEwrczrgSOPy+eFTTlIGELKy5as+ClttY= +github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8= -github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/onsi/gomega v1.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE= +github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc6 h1:XDqvyKsJEbRtATzkgItUqBA7QHk58yxX1Ov9HERHNqU= @@ -671,8 +671,8 @@ github.com/siderolabs/go-kmsg v0.1.4 h1:RLAa90O9bWuhA3pXPAYAdrI+kzcqTshZASRA5yso github.com/siderolabs/go-kmsg v0.1.4/go.mod h1:BLkt2N2DHT0wsFMz32lMw6vNEZL90c8ZnBjpIUoBb/M= github.com/siderolabs/go-kubeconfig v0.1.0 h1:t/2oMWkLSdWHXglKPMz8ySXnx6ZjHckeGY79NaDcBTo= github.com/siderolabs/go-kubeconfig v0.1.0/go.mod h1:eM3mO02Td6wYDvdi9zTbMrj1Q4WqEFN8XQ6pNjCUWkI= -github.com/siderolabs/go-kubernetes v0.2.8 h1:ks+xA0sZdYhdRTkSZlngaku+BWngbZxijidh2e+XX5Q= -github.com/siderolabs/go-kubernetes v0.2.8/go.mod h1:JrhhdnHeeuEi+4nGCSrnkTjEy9oNQ6YJ/2/0Tzy+PQU= +github.com/siderolabs/go-kubernetes v0.2.9 h1:EtaOcni9P0etJz+UDlIKQkgsTjCg2MWI2p1fKeRTo8Q= +github.com/siderolabs/go-kubernetes v0.2.9/go.mod h1:AAydnLZrqG+MJrKTa82AszkWIytkqwDBt7PL+bfbupI= github.com/siderolabs/go-loadbalancer v0.3.2 h1:R2jKq8ifWOARxJ5blXwOOkiWCA5/46stGxUR8+qV8GE= github.com/siderolabs/go-loadbalancer v0.3.2/go.mod h1:sKP/xSN4R+1fifcqIjnk1FtM5sSW20d+pi+0FV6CpVo= github.com/siderolabs/go-pcidb v0.2.0 h1:ZCkF1cz6UjoEIHpP7+aeTI5BwmSxE627Jl1Wy2VZAwU= @@ -1240,32 +1240,32 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.29.1 h1:DAjwWX/9YT7NQD4INu49ROJuZAAAP/Ijki48GUPzxqw= -k8s.io/api v0.29.1/go.mod h1:7Kl10vBRUXhnQQI8YR/R327zXC8eJ7887/+Ybta+RoQ= -k8s.io/apimachinery v0.29.1 h1:KY4/E6km/wLBguvCZv8cKTeOwwOBqFNjwJIdMkMbbRc= -k8s.io/apimachinery v0.29.1/go.mod h1:6HVkd1FwxIagpYrHSwJlQqZI3G9LfYWRPAkUvLnXTKU= -k8s.io/apiserver v0.29.1 h1:e2wwHUfEmMsa8+cuft8MT56+16EONIEK8A/gpBSco+g= -k8s.io/apiserver v0.29.1/go.mod h1:V0EpkTRrJymyVT3M49we8uh2RvXf7fWC5XLB0P3SwRw= -k8s.io/cli-runtime v0.29.1 h1:By3WVOlEWYfyxhGko0f/IuAOLQcbBSMzwSaDren2JUs= -k8s.io/cli-runtime v0.29.1/go.mod h1:vjEY9slFp8j8UoMhV5AlO8uulX9xk6ogfIesHobyBDU= -k8s.io/client-go v0.29.1 h1:19B/+2NGEwnFLzt0uB5kNJnfTsbV8w6TgQRz9l7ti7A= -k8s.io/client-go v0.29.1/go.mod h1:TDG/psL9hdet0TI9mGyHJSgRkW3H9JZk2dNEUS7bRks= -k8s.io/component-base v0.29.1 h1:MUimqJPCRnnHsskTTjKD+IC1EHBbRCVyi37IoFBrkYw= -k8s.io/component-base v0.29.1/go.mod h1:fP9GFjxYrLERq1GcWWZAE3bqbNcDKDytn2srWuHTtKc= -k8s.io/cri-api v0.29.1 h1:pQwYDahnAX9K8KtdV8PD1eeNexMJojEj1t/5kAMX61E= -k8s.io/cri-api v0.29.1/go.mod h1:9fQTFm+wi4FLyqrkVUoMJiUB3mE74XrVvHz8uFY/sSw= +k8s.io/api v0.30.0-alpha.2 h1:Pk7rCBK4z2wzfHQGWFvpNYagfeQAlyy87MnkjngRDEI= +k8s.io/api v0.30.0-alpha.2/go.mod h1:xyrt5SWiJP/5Lj6VkeIQd7e9rLQ/FRU5SaZE5D3YenM= +k8s.io/apimachinery v0.30.0-alpha.2 h1:614MJReChyjEH03Il2Z10u/LTNmvzEVvg7d7VpxJwHI= +k8s.io/apimachinery v0.30.0-alpha.2/go.mod h1:akBo0Z+IFaOazGhD1RG6NG75rWj9oAhmz7UHqmfygmw= +k8s.io/apiserver v0.30.0-alpha.2 h1:dOoEijSMgTfpy+rm3W/p7h1KuSLgT20kM6v3NDMGxx8= +k8s.io/apiserver v0.30.0-alpha.2/go.mod h1:KcPItgbscof3zv7LuE8XhJCuxF6wCcU1ZfeAjzKvI0E= +k8s.io/cli-runtime v0.30.0-alpha.2 h1:3sRkhnkYkuzrga3WNfnyKgDAOHgXrkBcWQecmIFrw2w= +k8s.io/cli-runtime v0.30.0-alpha.2/go.mod h1:Enk+w7IFQkiMSiJMoesw7Lazi7UwbeUZqrf2D8eNJUY= +k8s.io/client-go v0.30.0-alpha.2 h1:tHzSny3eX0Qg1YWC+CE77+wnuWm3NHtAoVD6iQz56Zs= +k8s.io/client-go v0.30.0-alpha.2/go.mod h1:ggOVaLmJOEjl9vmdoAnxL+pBfrLP4+h6dP4L9QNTpcU= +k8s.io/component-base v0.30.0-alpha.2 h1:hdBSlB+OcBRTntNYio4YTKJRxb0rA59q42qf3qXDWIE= +k8s.io/component-base v0.30.0-alpha.2/go.mod h1:YYb+ohTXvPYL290zXMWrQwd1A+xIqbSuAMrcQJ7h5uw= +k8s.io/cri-api v0.30.0-alpha.2 h1:MHE8kSl2zeJw+0DWYDc4yfnzxE7OF095Hz4RVOG3/Gc= +k8s.io/cri-api v0.30.0-alpha.2/go.mod h1:9fQTFm+wi4FLyqrkVUoMJiUB3mE74XrVvHz8uFY/sSw= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= -k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= -k8s.io/kube-scheduler v0.29.1 h1:EKhEBriMl5t/NVjPjUr4he11ghe5BZocur49NOXIrWk= -k8s.io/kube-scheduler v0.29.1/go.mod h1:MQhjK51HUNq0WQ2z+qRWgEnDwD7/XQm3y9XfvrNSmek= -k8s.io/kubectl v0.29.1 h1:rWnW3hi/rEUvvg7jp4iYB68qW5un/urKbv7fu3Vj0/s= -k8s.io/kubectl v0.29.1/go.mod h1:SZzvLqtuOJYSvZzPZR9weSuP0wDQ+N37CENJf0FhDF4= -k8s.io/kubelet v0.29.1 h1:cso8Dk8dymkj8q+EvW/aCbIYU2aOkH27gho48tYza/8= -k8s.io/kubelet v0.29.1/go.mod h1:hTl/naFcCVG1Ku17fMgj/krbheBwBkf3gnFhaboMx7E= +k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e h1:snPmy96t93RredGRjKfMFt+gvxuVAncqSAyBveJtr4Q= +k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= +k8s.io/kube-scheduler v0.30.0-alpha.2 h1:YNrPwMg87VMdUnHo+OAMesYpk7rxATNVcICnxzULTCs= +k8s.io/kube-scheduler v0.30.0-alpha.2/go.mod h1:MsTYeYZDwv64XTdd5y8gCW8YPLCgr8IKCUOl7CWPEl8= +k8s.io/kubectl v0.30.0-alpha.2 h1:fw+2Ijv4gqQdFgzYK1nJJR3MFopCdBAZEjnETcM+y4Y= +k8s.io/kubectl v0.30.0-alpha.2/go.mod h1:74X1grqoxhb93ZLxjQo8FurqpWdSAgnNYiUhyYYiWoA= +k8s.io/kubelet v0.30.0-alpha.2 h1:35RaAFKiBA3iBGg8fxFefDdKrBhcakTpbPxZdHMRml8= +k8s.io/kubelet v0.30.0-alpha.2/go.mod h1:wP9oBhAREIMKYXiV7xK92P9OfeMi7TFHGm+EbYtn5ZQ= k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= kernel.org/pub/linux/libs/security/libcap/cap v1.2.69 h1:N0m3tKYbkRMmDobh/47ngz+AWeV7PcfXMDi8xu3Vrag= diff --git a/hack/release.toml b/hack/release.toml index 4400b3dda5..08f1e91659 100644 --- a/hack/release.toml +++ b/hack/release.toml @@ -19,7 +19,7 @@ preface = """\ description = """\ Linux: 6.6.16 etcd: 3.5.11 -Kubernetes: 1.29.1 +Kubernetes: 1.30.0-alpha.2 containerd: 1.7.13 runc: 1.1.12 Flannel: 0.24.1 diff --git a/hack/test/e2e.sh b/hack/test/e2e.sh index 87f005f6fe..e83e002953 100755 --- a/hack/test/e2e.sh +++ b/hack/test/e2e.sh @@ -40,7 +40,7 @@ export TALOS_VERSION=v1.1 # Kubernetes export KUBECONFIG="${TMP}/kubeconfig" -export KUBERNETES_VERSION=${KUBERNETES_VERSION:-1.29.1} +export KUBERNETES_VERSION=${KUBERNETES_VERSION:-1.30.0-alpha.2} export NAME_PREFIX="talos-e2e-${SHA}-${PLATFORM}" export TIMEOUT=1200 diff --git a/internal/app/machined/pkg/controllers/k8s/kubelet_spec.go b/internal/app/machined/pkg/controllers/k8s/kubelet_spec.go index c65f5ae0c2..807e08fbb9 100644 --- a/internal/app/machined/pkg/controllers/k8s/kubelet_spec.go +++ b/internal/app/machined/pkg/controllers/k8s/kubelet_spec.go @@ -285,17 +285,8 @@ func NewKubeletConfiguration(cfgSpec *k8s.KubeletConfigSpec, kubeletVersion comp config.ContainerRuntimeEndpoint = "unix://" + constants.CRIContainerdAddress } - // SeccompDefault feature gate is enabled by default Kubernetes 1.25+, GA in 1.27 if cfgSpec.DefaultRuntimeSeccompEnabled { config.SeccompDefault = pointer.To(true) - - if !kubeletVersion.FeatureFlagSeccompDefaultEnabledByDefault() { - if config.FeatureGates == nil { - config.FeatureGates = map[string]bool{} - } - - config.FeatureGates["SeccompDefault"] = true - } } if cfgSpec.EnableFSQuotaMonitoring { diff --git a/internal/app/machined/pkg/controllers/k8s/kubelet_spec_test.go b/internal/app/machined/pkg/controllers/k8s/kubelet_spec_test.go index ecb1c1660d..fec52ed904 100644 --- a/internal/app/machined/pkg/controllers/k8s/kubelet_spec_test.go +++ b/internal/app/machined/pkg/controllers/k8s/kubelet_spec_test.go @@ -420,22 +420,6 @@ func TestNewKubeletConfigurationMerge(t *testing.T) { kc.SeccompDefault = pointer.To(true) }, }, - { - name: "enable seccomp default + feature flag", - cfgSpec: &k8s.KubeletConfigSpec{ - ClusterDNS: []string{"10.0.0.5"}, - ClusterDomain: "cluster.local", - DefaultRuntimeSeccompEnabled: true, - }, - kubeletVersion: compatibility.VersionFromImageRef("ghcr.io/siderolabs/kubelet:v1.24.0"), - expectedOverrides: func(kc *kubeletconfig.KubeletConfiguration) { - kc.ContainerRuntimeEndpoint = "" - kc.SeccompDefault = pointer.To(true) - kc.FeatureGates = map[string]bool{ - "SeccompDefault": true, - } - }, - }, { name: "enable skipNodeRegistration", cfgSpec: &k8s.KubeletConfigSpec{ diff --git a/internal/app/machined/pkg/controllers/k8s/render_config_static_pods.go b/internal/app/machined/pkg/controllers/k8s/render_config_static_pods.go index 8c285c69ff..639e2e98b4 100644 --- a/internal/app/machined/pkg/controllers/k8s/render_config_static_pods.go +++ b/internal/app/machined/pkg/controllers/k8s/render_config_static_pods.go @@ -15,7 +15,6 @@ import ( "github.com/cosi-project/runtime/pkg/controller" "github.com/cosi-project/runtime/pkg/safe" "github.com/cosi-project/runtime/pkg/state" - "github.com/siderolabs/go-kubernetes/kubernetes/compatibility" "go.uber.org/zap" "k8s.io/apimachinery/pkg/runtime" k8sjson "k8s.io/apimachinery/pkg/runtime/serializer/json" @@ -110,8 +109,6 @@ func (ctrl *RenderConfigsStaticPodController) Run(ctx context.Context, r control kubeSchedulerConfig := kubeSchedulerRes.TypedSpec() - kubeSchedulerVersion := compatibility.VersionFromImageRef(kubeSchedulerConfig.Image) - type configFile struct { filename string f func() (runtime.Object, error) @@ -157,7 +154,7 @@ func (ctrl *RenderConfigsStaticPodController) Run(ctx context.Context, r control configs: []configFile{ { filename: "scheduler-config.yaml", - f: schedulerConfig(kubeSchedulerConfig, kubeSchedulerVersion), + f: schedulerConfig(kubeSchedulerConfig), }, }, }, @@ -243,7 +240,7 @@ func auditPolicyConfig(spec *k8s.AuditPolicyConfigSpec) func() (runtime.Object, } } -func schedulerConfig(spec *k8s.SchedulerConfigSpec, kubeSchedulerVersion compatibility.Version) func() (runtime.Object, error) { +func schedulerConfig(spec *k8s.SchedulerConfigSpec) func() (runtime.Object, error) { return func() (runtime.Object, error) { var cfg schedulerv1.KubeSchedulerConfiguration @@ -251,7 +248,7 @@ func schedulerConfig(spec *k8s.SchedulerConfigSpec, kubeSchedulerVersion compati return nil, fmt.Errorf("error unmarshaling scheduler configuration: %w", err) } - cfg.APIVersion = kubeSchedulerVersion.KubeSchedulerConfigurationAPIVersion() + cfg.APIVersion = "kubescheduler.config.k8s.io/v1" cfg.Kind = "KubeSchedulerConfiguration" cfg.ClientConnection.Kubeconfig = filepath.Join(constants.KubernetesSchedulerSecretsDir, "kubeconfig") diff --git a/pkg/machinery/constants/constants.go b/pkg/machinery/constants/constants.go index 58a584fd20..03a1800507 100644 --- a/pkg/machinery/constants/constants.go +++ b/pkg/machinery/constants/constants.go @@ -344,7 +344,7 @@ const ( // DefaultKubernetesVersion is the default target version of the control plane. // renovate: datasource=github-releases depName=kubernetes/kubernetes - DefaultKubernetesVersion = "1.29.1" + DefaultKubernetesVersion = "1.30.0-alpha.2" // SupportedKubernetesVersions is the number of Kubernetes versions supported by Talos starting from DefaultKubernesVersion going backwards. SupportedKubernetesVersions = 6 diff --git a/website/content/v1.7/_index.md b/website/content/v1.7/_index.md index 37e3b9e532..3a13ea2e17 100644 --- a/website/content/v1.7/_index.md +++ b/website/content/v1.7/_index.md @@ -5,7 +5,7 @@ linkTitle: "Documentation" cascade: type: docs lastRelease: v1.7.0-alpha.0 -kubernetesRelease: "1.29.0" +kubernetesRelease: "1.30.0-alpha.2" prevKubernetesRelease: "1.28.3" nvidiaContainerToolkitRelease: "v1.13.5" nvidiaDriverRelease: "535.129.03" diff --git a/website/content/v1.7/reference/cli.md b/website/content/v1.7/reference/cli.md index 6e8d483cfe..1b443f0580 100644 --- a/website/content/v1.7/reference/cli.md +++ b/website/content/v1.7/reference/cli.md @@ -134,7 +134,7 @@ talosctl cluster create [flags] --ipxe-boot-script string iPXE boot script (URL) to use --iso-path string the ISO path to use for the initial boot (VM only) --kubeprism-port int KubePrism port (set to 0 to disable) (default 7445) - --kubernetes-version string desired kubernetes version to run (default "1.29.1") + --kubernetes-version string desired kubernetes version to run (default "1.30.0-alpha.2") --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) --mtu int MTU of the cluster network (default 1500) @@ -1331,7 +1331,7 @@ talosctl gen config [flags] -h, --help help for config --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") - --kubernetes-version string desired kubernetes version to run (default "1.29.1") + --kubernetes-version string desired kubernetes version to run (default "1.30.0-alpha.2") -o, --output string destination to output generated files. when multiple output types are specified, it must be a directory. for a single output type, it must either be a file path, or "-" for stdout -t, --output-types strings types of outputs to be generated. valid types are: ["controlplane" "worker" "talosconfig"] (default [controlplane,worker,talosconfig]) -p, --persist the desired persist value for configs (default true) @@ -2897,7 +2897,7 @@ talosctl upgrade-k8s [flags] --pre-pull-images pre-pull images before upgrade (default true) --proxy-image string kube-proxy image to use (default "registry.k8s.io/kube-proxy") --scheduler-image string kube-scheduler image to use (default "registry.k8s.io/kube-scheduler") - --to string the Kubernetes control plane version to upgrade to (default "1.29.1") + --to string the Kubernetes control plane version to upgrade to (default "1.30.0-alpha.2") --upgrade-kubelet upgrade kubelet service (default true) --with-docs patch all machine configs adding the documentation for each field (default true) --with-examples patch all machine configs with the commented examples (default true) diff --git a/website/content/v1.7/reference/configuration/v1alpha1/config.md b/website/content/v1.7/reference/configuration/v1alpha1/config.md index d41be2b299..9907c60d3c 100644 --- a/website/content/v1.7/reference/configuration/v1alpha1/config.md +++ b/website/content/v1.7/reference/configuration/v1alpha1/config.md @@ -89,7 +89,7 @@ controlPlane: {{< /highlight >}} | | |`kubelet` |KubeletConfig |Used to provide additional options to the kubelet.
Show example(s){{< highlight yaml >}} kubelet: - image: ghcr.io/siderolabs/kubelet:v1.29.1 # The `image` field is an optional reference to an alternative kubelet image. + image: ghcr.io/siderolabs/kubelet:v1.30.0-alpha.2 # The `image` field is an optional reference to an alternative kubelet image. # The `extraArgs` field is used to provide additional flags to the kubelet. extraArgs: feature-gates: ServerSideApply=true @@ -498,7 +498,7 @@ KubeletConfig represents the kubelet config values. {{< highlight yaml >}} machine: kubelet: - image: ghcr.io/siderolabs/kubelet:v1.29.1 # The `image` field is an optional reference to an alternative kubelet image. + image: ghcr.io/siderolabs/kubelet:v1.30.0-alpha.2 # The `image` field is an optional reference to an alternative kubelet image. # The `extraArgs` field is used to provide additional flags to the kubelet. extraArgs: feature-gates: ServerSideApply=true @@ -551,7 +551,7 @@ machine: | Field | Type | Description | Value(s) | |-------|------|-------------|----------| |`image` |string |The `image` field is an optional reference to an alternative kubelet image.
Show example(s){{< highlight yaml >}} -image: ghcr.io/siderolabs/kubelet:v1.29.1 +image: ghcr.io/siderolabs/kubelet:v1.30.0-alpha.2 {{< /highlight >}}
| | |`clusterDNS` |[]string |The `ClusterDNS` field is an optional reference to an alternative kubelet clusterDNS ip list.
Show example(s){{< highlight yaml >}} clusterDNS: @@ -2862,7 +2862,7 @@ serviceAccount: {{< /highlight >}}
| | |`apiServer` |APIServerConfig |API server specific configuration options.
Show example(s){{< highlight yaml >}} apiServer: - image: registry.k8s.io/kube-apiserver:v1.29.1 # The container image used in the API server manifest. + image: registry.k8s.io/kube-apiserver:v1.30.0-alpha.2 # The container image used in the API server manifest. # Extra arguments to supply to the API server. extraArgs: feature-gates: ServerSideApply=true @@ -2901,14 +2901,14 @@ apiServer: {{< /highlight >}}
| | |`controllerManager` |ControllerManagerConfig |Controller manager server specific configuration options.
Show example(s){{< highlight yaml >}} controllerManager: - image: registry.k8s.io/kube-controller-manager:v1.29.1 # The container image used in the controller manager manifest. + image: registry.k8s.io/kube-controller-manager:v1.30.0-alpha.2 # The container image used in the controller manager manifest. # Extra arguments to supply to the controller manager. extraArgs: feature-gates: ServerSideApply=true {{< /highlight >}}
| | |`proxy` |ProxyConfig |Kube-proxy server-specific configuration options
Show example(s){{< highlight yaml >}} proxy: - image: registry.k8s.io/kube-proxy:v1.29.1 # The container image used in the kube-proxy manifest. + image: registry.k8s.io/kube-proxy:v1.30.0-alpha.2 # The container image used in the kube-proxy manifest. mode: ipvs # proxy mode of kube-proxy. # Extra arguments to supply to kube-proxy. extraArgs: @@ -2919,7 +2919,7 @@ proxy: {{< /highlight >}}
| | |`scheduler` |SchedulerConfig |Scheduler server specific configuration options.
Show example(s){{< highlight yaml >}} scheduler: - image: registry.k8s.io/kube-scheduler:v1.29.1 # The container image used in the scheduler manifest. + image: registry.k8s.io/kube-scheduler:v1.30.0-alpha.2 # The container image used in the scheduler manifest. # Extra arguments to supply to the scheduler. extraArgs: feature-gates: AllBeta=true @@ -3163,7 +3163,7 @@ APIServerConfig represents the kube apiserver configuration options. {{< highlight yaml >}} cluster: apiServer: - image: registry.k8s.io/kube-apiserver:v1.29.1 # The container image used in the API server manifest. + image: registry.k8s.io/kube-apiserver:v1.30.0-alpha.2 # The container image used in the API server manifest. # Extra arguments to supply to the API server. extraArgs: feature-gates: ServerSideApply=true @@ -3205,7 +3205,7 @@ cluster: | Field | Type | Description | Value(s) | |-------|------|-------------|----------| |`image` |string |The container image used in the API server manifest.
Show example(s){{< highlight yaml >}} -image: registry.k8s.io/kube-apiserver:v1.29.1 +image: registry.k8s.io/kube-apiserver:v1.30.0-alpha.2 {{< /highlight >}}
| | |`extraArgs` |map[string]string |Extra arguments to supply to the API server. | | |`extraVolumes` |[]VolumeMountConfig |Extra volumes to mount to the API server static pod. | | @@ -3344,7 +3344,7 @@ ControllerManagerConfig represents the kube controller manager configuration opt {{< highlight yaml >}} cluster: controllerManager: - image: registry.k8s.io/kube-controller-manager:v1.29.1 # The container image used in the controller manager manifest. + image: registry.k8s.io/kube-controller-manager:v1.30.0-alpha.2 # The container image used in the controller manager manifest. # Extra arguments to supply to the controller manager. extraArgs: feature-gates: ServerSideApply=true @@ -3354,7 +3354,7 @@ cluster: | Field | Type | Description | Value(s) | |-------|------|-------------|----------| |`image` |string |The container image used in the controller manager manifest.
Show example(s){{< highlight yaml >}} -image: registry.k8s.io/kube-controller-manager:v1.29.1 +image: registry.k8s.io/kube-controller-manager:v1.30.0-alpha.2 {{< /highlight >}}
| | |`extraArgs` |map[string]string |Extra arguments to supply to the controller manager. | | |`extraVolumes` |[]VolumeMountConfig |Extra volumes to mount to the controller manager static pod. | | @@ -3424,7 +3424,7 @@ ProxyConfig represents the kube proxy configuration options. {{< highlight yaml >}} cluster: proxy: - image: registry.k8s.io/kube-proxy:v1.29.1 # The container image used in the kube-proxy manifest. + image: registry.k8s.io/kube-proxy:v1.30.0-alpha.2 # The container image used in the kube-proxy manifest. mode: ipvs # proxy mode of kube-proxy. # Extra arguments to supply to kube-proxy. extraArgs: @@ -3441,7 +3441,7 @@ cluster: disabled: false {{< /highlight >}}
| | |`image` |string |The container image used in the kube-proxy manifest.
Show example(s){{< highlight yaml >}} -image: registry.k8s.io/kube-proxy:v1.29.1 +image: registry.k8s.io/kube-proxy:v1.30.0-alpha.2 {{< /highlight >}}
| | |`mode` |string |
proxy mode of kube-proxy.The default is 'iptables'.
| | |`extraArgs` |map[string]string |Extra arguments to supply to kube-proxy. | | @@ -3460,7 +3460,7 @@ SchedulerConfig represents the kube scheduler configuration options. {{< highlight yaml >}} cluster: scheduler: - image: registry.k8s.io/kube-scheduler:v1.29.1 # The container image used in the scheduler manifest. + image: registry.k8s.io/kube-scheduler:v1.30.0-alpha.2 # The container image used in the scheduler manifest. # Extra arguments to supply to the scheduler. extraArgs: feature-gates: AllBeta=true @@ -3470,7 +3470,7 @@ cluster: | Field | Type | Description | Value(s) | |-------|------|-------------|----------| |`image` |string |The container image used in the scheduler manifest.
Show example(s){{< highlight yaml >}} -image: registry.k8s.io/kube-scheduler:v1.29.1 +image: registry.k8s.io/kube-scheduler:v1.30.0-alpha.2 {{< /highlight >}}
| | |`extraArgs` |map[string]string |Extra arguments to supply to the scheduler. | | |`extraVolumes` |[]VolumeMountConfig |Extra volumes to mount to the scheduler static pod. | |