首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >kubeadm -错误启动版本'‘不支持

kubeadm -错误启动版本'‘不支持
EN

Server Fault用户
提问于 2019-11-13 13:26:24
回答 2查看 2.3K关注 0票数 1

最近,我使用kubeadm将Kubernetes集群从1.5.3升级到1.6.1。

现在我想从1.6.1升级到1.6.2,但是我面临这个错误:

代码语言:javascript
运行
复制
[root@master ~]#kubeadm upgrade plan --v=5
I1113 14:14:31.046080    8368 plan.go:67] [upgrade/plan] verifying health of cluster
I1113 14:14:31.046233    8368 plan.go:68] [upgrade/plan] retrieving configuration from cluster
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
I1113 14:14:31.111668    8368 common.go:122] running preflight checks
[preflight] Running pre-flight checks.
I1113 14:14:31.111843    8368 preflight.go:78] validating if there are any unsupported CoreDNS plugins in the Corefile
I1113 14:14:31.143841    8368 preflight.go:103] validating if migration can be done for the current CoreDNS release.
[preflight] Some fatal errors occurred:
    [ERROR CoreDNSUnsupportedPlugins]: start version '' not supported
    [ERROR CoreDNSMigration]: start version '' not supported
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

kubeadm似乎无法解析CoreDNS版本。

下面是CoreDNS配置:

代码语言:javascript
运行
复制
apiVersion: v1
data:
  Corefile: |
    .:53 {
        errors
        health
        ready
        kubernetes cluster.local in-addr.arpa ip6.arpa {
           pods insecure
           fallthrough in-addr.arpa ip6.arpa
           ttl 30
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
kind: ConfigMap
metadata:
  creationTimestamp: "2018-12-15T00:02:45Z"
  name: coredns
  namespace: kube-system
  resourceVersion: "45537229"
  selfLink: /api/v1/namespaces/kube-system/configmaps/coredns
  uid: c01fbb58-fffc-11e8-9a01-005056a31666

从哪里读取版本号?或者我能做些什么来解决这个错误?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2019-11-13 16:07:27

最后我发现了问题的原因。coredns吊舱被终止,无法自行恢复。

所以我把吊舱取了下来:

代码语言:javascript
运行
复制
kubectl -n kube-system delete pod coredns-79ff88449c-4gjzs --grace-period=0 --force

然后使用deploy.sh脚本从https://github.com/coredns/deployment/tree/master/kubernetes手动安装它,如下所示:

代码语言:javascript
运行
复制
./deploy.sh | kubectl apply -f -

现在,kubeadm upgrade又像一种魅力一样工作。

而且kubeadm似乎从运行舱中读取CoreDNS版本。

票数 1
EN

Server Fault用户

发布于 2019-11-13 14:57:34

您收到了失败的CoreDNSUnsupportedPlugins检查,因为proxy插件已经被forward插件所取代。这里,您可以找到更多有关这方面的信息。

有两种解决方法:

  • 一种是在升级时使用 --ignore-preflight-errors=CoreDNSUnsupportedPlugins忽略检查。
  • 第二种方法是将proxy . /etc/resolv.conf从coredns configMap替换为forward.It,如下所示:forward . /etc/resolv.conf

您可以找到有关相同问题的更多信息,这里

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/991670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档