【问题标题】:Preflight errors in Kubernetes installationKubernetes 安装中的预检错误
【发布时间】:2019-07-25 08:05:36
【问题描述】:

我指的是以下链接Installation Link 在 Ubuntu 18.04 上安装 Kubernetes。输入命令时出现以下错误:

sudo kubeadm join 192.168.0.114:6443 --token qgce4f.tgzda1zemqnro1em --discovery-token-ca-cert-hash sha256:6ebc15a5a9818481f8a98af01a7a367ba93b2180babb954940edd8178548773a ignore-preflight-errors=All

W0303 18:33:39.565868    7098 join.go:185] [join] WARNING: More than one API server endpoint supplied on command line [192.168.0.114:6443 ignore-preflight-errors=All]. Using the first one.
[preflight] Running pre-flight checks
    [WARNING SystemVerification]: this Docker version is not on the list of validated versions: 18.09.3. Latest validated version: 18.06
[preflight] Some fatal errors occurred:
[ERROR DirAvailable--etc-kubernetes-manifests]: /etc/kubernetes/manifests is not empty
    [ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists
    [ERROR Port-10250]: Port 10250 is in use
    [ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

谁能告诉我如何解决这个问题?谢谢!

【问题讨论】:

  • 你可以删除/备份/etc/kubernetes/manifests目录内容,/etc/kubernetes/kubelet.conf/etc/kubernetes/pki/ca.crt文件,因为它告诉文件已经存在。我认为 master(kubeadm --init) 已经启动了,你能列出令牌并查看输出吗kubeadm token list
  • 你在另一台机器上运行kubeadm join 吗?如果是这样,您可以清理 /etc/kubernetes 或重新安装 k8s。
  • 您可以尝试kubeadm init 撤消之前的加入。

标签: linux kubernetes installation ubuntu-18.04 kubeadm


【解决方案1】:

考虑使用kubeadm reset 命令,如here 所述:

The "reset" command executes the following phases:

preflight              Run reset pre-flight checks
update-cluster-status  Remove this node from the ClusterStatus object.
remove-etcd-member     Remove a local etcd member.
cleanup-node           Run cleanup node.

此命令的第四阶段应该修复您提到的 4 个错误:

A ) 它将停止 kubelet 服务 - 所以端口 10250 将被释放。

B ) 它将删除以下目录的内容:

    /etc/kubernetes/manifests 
    /etc/kubernetes/pki

C ) 它将删除以下文件:

    /etc/kubernetes/admin.conf 
    /etc/kubernetes/kubelet.conf 
    /etc/kubernetes/bootstrap-kubelet.conf 
    /etc/kubernetes/controller-manager.conf 
    /etc/kubernetes/scheduler.conf

(*) 确保运行 kubeadm join 命令的详细级别为 5 及以上
(通过附加 --v=5 标志)。

【讨论】:

    猜你喜欢
    • 2020-09-28
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 2020-04-12
    相关资源
    最近更新 更多