siderolabs / talos

Talos Linux is a modern Linux distribution built for Kubernetes.
https://www.talos.dev
Mozilla Public License 2.0
6.66k stars 531 forks source link

Error 'VolumeConfig' 'v1alpha1': not registered when performing Kubernetes upgrade #9469

Closed eshikhov closed 1 week ago

eshikhov commented 1 week ago

Bug Report

failed upgrading kubelet: error updating node "X.X.X.X": error patching node config: error fetching config resource: "VolumeConfig" "v1alpha1": not registered when updating Kubernetes

Description

In a cluster, several worker nodes have a VolumeConfig section in the machine config

---
apiVersion: v1alpha1
kind:VolumeConfig
name: EPHEMERAL
provisioning:
  diskSelector:
    match: disk.transport == 'nvme' && disk.dev_path == '/dev/nvme0n1'
  minSize: 200GB
  maxSize: 200GB
  grow: false

When performing a kubernetes upgrade with the command

talosctl --nodes <controlplane node> upgrade-k8s --to 1.30.3 

an error occurs "failed upgrading kubelet: error updating node "X.X.X.X": error patching node config: error fetching config resource: "VolumeConfig" "v1alpha1": not registered when updating Kubernetes"

Environment

smira commented 1 week ago

Most probably you're using outdated talosctl.

vladimirfx commented 1 week ago

Most probably you're using outdated talosctl.

Maybe it's worth breaking the talosctl invocation when server [major.minor] version > talosctl [major.minor] version ? Such invocation is most times incorrect or even dangerous.

eshikhov commented 1 week ago

Thank you. Updated talosctl to the latest version, upgrade worked