创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

操作系统信息
例如:虚拟机/物理机,Centos7.5/Ubuntu18.04,4C/8G

Kubernetes版本信息
kubectl version

Client Version: version.Info{Major:“1”, Minor:“22”, GitVersion:“v1.22.12”, GitCommit:“b058e1760c79f46a834ba59bd7a3486ecf28237d”, GitTreeState:“clean”, BuildDate:“2022-07-13T14:59:18Z”, GoVersion:“go1.16.15”, Compiler:“gc”, Platform:“linux/amd64”}

Server Version: version.Info{Major:“1”, Minor:“22”, GitVersion:“v1.22.12”, GitCommit:“b058e1760c79f46a834ba59bd7a3486ecf28237d”, GitTreeState:“clean”, BuildDate:“2022-07-13T14:53:39Z”, GoVersion:“go1.16.15”, Compiler:“gc”, Platform:“linux/amd64”}

容器运行时
docker version / crictl version / nerdctl version 结果贴在下方

KubeSphere版本信息
v3.3.1

问题是什么
kk 升级集群报错

./kk upgrade --with-kubernetes v1.23.10 --with-kubesphere v3.3.2 -f smp.yaml

_ __ _ _ __

| | / / | | | | / /

| |/ / _ _| |__ ___| |/ / ___ _ _

| \| | | | '_ \ / _ \ \ / _ \ | | |

| |\ \ |_| | |_) | __/ |\ \ __/ |_| |

\_| \_/\__,_|_.__/ \___\_| \_/\___|\__, |

__/ |

|___/

15:56:02 CST [GreetingsModule] Greetings

15:56:02 CST message: [k8s-cpu]

Greetings, KubeKey!

15:56:03 CST message: [k8s-gpu]

Greetings, KubeKey!

15:56:03 CST message: [k8s-gpu1]

15:56:03 CST success: [k8s-cpu]

15:56:03 CST success: [k8s-gpu]

15:56:03 CST success: [k8s-gpu1]

15:56:03 CST [NodePreCheckModule] A pre-check on nodes

15:56:04 CST success: [k8s-cpu]

15:56:04 CST success: [k8s-gpu]

15:56:04 CST success: [k8s-gpu1]

15:56:04 CST [ClusterPreCheckModule] Get KubeConfig file

15:56:04 CST skipped: [k8s-cpu]

15:56:04 CST skipped: [k8s-gpu1]

15:56:04 CST success: [k8s-gpu]

15:56:04 CST [ClusterPreCheckModule] Get all nodes Kubernetes version

15:56:05 CST success: [k8s-cpu]

15:56:05 CST success: [k8s-gpu]

15:56:05 CST success: [k8s-gpu1]

15:56:05 CST [ClusterPreCheckModule] Calculate min Kubernetes version

15:56:05 CST message: [k8s-gpu]

parse node version failed: could not parse "" as version

15:56:05 CST retry: [k8s-gpu]

15:56:10 CST message: [k8s-gpu]

parse node version failed: could not parse "" as version

15:56:10 CST retry: [k8s-gpu]

15:56:15 CST message: [k8s-gpu]

parse node version failed: could not parse "" as version

15:56:15 CST skipped: [k8s-cpu]

15:56:15 CST skipped: [k8s-gpu1]

15:56:15 CST failed: [k8s-gpu]

error: Pipeline[UpgradeClusterPipeline] execute failed: Module[ClusterPreCheckModule] exec failed:

failed: [k8s-gpu] [CalculateMinK8sVersion] exec failed after 3 retires: parse node version failed: could not parse "" as version

cat smp.yaml 配置文件

apiVersion: kubekey.kubesphere.io/v1alpha2

kind: Cluster

metadata:

  name: sample

spec:

  hosts: 

  ##You should complete the ssh information of the hosts

  - {name: k8s-gpu, address: 192.168.15.9, internalAddress: 192.168.15.9, user: root, password: "000000"}

  - {name: k8s-gpu1, address: 192.168.15.17, internalAddress: 192.168.15.17, user: root, password: "000000"}

  - {name: k8s-cpu, address: 192.168.15.18, internalAddress: 192.168.15.18, user: root, password: "000000"}

  roleGroups:

    etcd:

    - k8s-gpu

    - k8s-gpu1

    - k8s-cpu

    master:

    - k8s-gpu

    - k8s-gpu1

    - k8s-cpu

    worker:

    - k8s-gpu

    - k8s-gpu1

    - k8s-cpu

  controlPlaneEndpoint:

    ##Internal loadbalancer for apiservers

    internalLoadbalancer: haproxy

    ##If the external loadbalancer was used, 'address' should be set to loadbalancer's ip.

    domain: lb.kubesphere.local

    address: ""

    port: 6443

  kubernetes:

    version: v1.22.12

    clusterName: cluster.local

    proxyMode: ipvs

    masqueradeAll: false

    maxPods: 110

    nodeCidrMaskSize: 24

  network:

    plugin: calico

    kubePodsCIDR: 10.233.64.0/18

    kubeServiceCIDR: 10.233.0.0/18

  registry:

    privateRegistry: ""