k8s遇到的常见问题及解决
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.
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用户执行的和普通用户执行的
更多推荐
所有评论(0)