1. error: open /var/lib/kubelet/config.yaml: no such file or directory

解决:关键文件缺失,多发生于没有做 kubeadm init就运行了systemctl start kubelet。 要先成功运行kubeadm init

2. 执行初始化kubeadm init ------的时候报错

The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.

问题分析:

之前我的Docker是用yum安装的,docker的cgroup驱动程序默认设置为system。默认情况下Kubernetes cgroup为systemd,我们需要更改Docker cgroup驱动,

vim /etc/docker/daemon.json

{
  "exec-opts": ["native.cgroupdriver=systemd"]
}

修改完之后重启docker服务,还是同样的错误

查看log发现是这个问题

swap分区的问题

解决:修改/etc/sysconfig/kubelet

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

kubeadm reset

重新kubeadm init

3. 执行kubeadm init 或者kubeadm join的时候出现

[ERROR Swap]: running with swap on is not supported. Please disable swap

官方强烈建议在环境初始化时关闭 Swap 空间

#关掉swap
swapoff -a
#注释掉最后一行
vi /etc/fstab
#reboot
reboot now

4. 同样是执行kubeadm join的时候出现

kubectl -n kube-system get cm kubeadm-config -o yaml'
error execution phase kubelet-start: a Node with name "localhost.localdomain" and status "Ready" already exists in the cluster.

这种localhost.localdomain一般都是集群的时候master和worker 的主机名没有改都是相同的

hostnamectl set-hostname xxx

执行完之后基于之前的记录可能会报错,再次执行kubeadm reset初始化一下在执行kubeadm join

5. 执行kubectl命令发现这种错误

Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")

需要执行init后生成的命令,分别为root用户执行的和普通用户执行的

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐