未找到用于获取配置信息的 kube-system 命名空间中的“kubeadm-config”

未找到用于获取配置信息的 kube-system 命名空间中的“kubeadm-config”

我有一个由 Kubeadm 创建的 Kubernetes 集群。

我当前的集群版本是 v1.19.2,正在尝试升级到 v1.20.15-0

现在我尝试通过升级 kubeadm 集群kubeadm upgrade plan但出现以下错误:

[upgrade/config] FATAL: the ConfigMap "kubeadm-config" in the kube-system namespace used for getting configuration information was not found 

但是当我检查 kube-system 命名空间中的配置图时kubeadm-config,它似乎在那里。

 [root@AWL-MV-IBO-DEV ~]# kubectl get configmap kubeadm-config -n kube-system -o yaml
apiVersion: v1
data:
  ClusterConfiguration: |
    apiServer:
      extraArgs:
        authorization-mode: Node,RBAC
      timeoutForControlPlane: 4m0s
    apiVersion: kubeadm.k8s.io/v1beta2
    certificatesDir: /etc/kubernetes/pki
    clusterName: kubernetes
    controllerManager: {}
    dns:
      type: CoreDNS
    etcd:
      local:
        dataDir: /var/lib/etcd
    imageRepository: k8s.gcr.io
    kind: ClusterConfiguration
    kubernetesVersion: v1.19.2
    networking:
      dnsDomain: cluster.local
      podSubnet: 192.168.0.0/16
      serviceSubnet: 10.96.0.0/12
    scheduler: {}
  ClusterStatus: |
    apiEndpoints:
      awl-mv-ibo-dev:
        advertiseAddress: 10.20.20.214
        bindPort: 6443
    apiVersion: kubeadm.k8s.io/v1beta2
    kind: ClusterStatus
kind: ConfigMap
metadata:
  creationTimestamp: "2020-10-06T13:09:22Z"
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:data:
        .: {}
        f:ClusterConfiguration: {}
        f:ClusterStatus: {}
    manager: kubeadm
    operation: Update
    time: "2020-10-06T13:09:22Z"
  name: kubeadm-config
  namespace: kube-system
  resourceVersion: "162"
  selfLink: /api/v1/namespaces/kube-system/configmaps/kubeadm-config
  uid: a6856541-6e6b-4c7e-9163-05778ef5e1aa

有人可以告知为什么找不到配置图吗?

答案1

根据这个,这是一个错误线在 github 上。

在升级计划函数中发现了一个错误enforceRequirements。如果提供了指定目标 Kubernetes 版本的命令行参数,则返回的ClusterConfiguration会将 enforceRequirementsKubernetesVersion字段设置为新版本。

如果没有指定版本,则返回KubernetesVersion指向当前安装的版本。

唯一的选择是enforceRequirements在升级计划情况下保持一致,并始终返回现场当前安装的版本KubernetesVersion

有关此修复的更多信息,请参见线

相关内容