个人学习部署使用K8S时的踩坑合集。
1 | root@k8s-learn-n1:/home/kawaii# free -h |
1 | swapoff -a |
/etc/fstab
里面的swap挂载。如果第一次初始化过程中出了问题可以用下面的命令重置,但其实不会删除包含个性化配置的配置文件。
1 | kubeadm reset |
在 init 命令中添加阿里云镜像:--image-repository registry.aliyuncs.com/google_containers
。例如:
1 | kubeadm init \ |
一般这个会出现在从源安装Docker后的默认情况下,打开/etc/containerd/config.toml
,取消注释其中的disabled_plugins = ["cri"]
行启用CRI集成插件,然后重启containerd(systemctl restart containerd
)。
不推荐。可以使用--ignore-preflight-errors=all
跳过预检:
1 | kubeadm init [...] --ignore-preflight-errors=all |
在/etc/docker/daemon.json
中添加:
1 | { |
然后重启docker和containerd,重启之后可以用如下命令看一下有没有修改成功:
1 | root@VM-16-2-ubuntu:~# docker info | grep Cgroup |
表现为报错:
1 | I0228 14:52:31.056862 20490 waitcontrolplane.go:83] [wait-control-plane] Waiting for the API server to be healthy |
解决方案是编辑一下/lib/systemd/system/kubelet.service
,找到如下行添加启动参数:
1 | [Service] |
然后重启,重启后先kubeadm reset
重置,然后重新init即可。