Ubuntu安装k8s集群遇到的问题及解决办法【都已解决】

执行kubeadm init集群初始化时遇到:

[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd".

[警告IsDockerSystemdCheck]:检测到“cgroupfs”作为Docker cgroup驱动程序。 推荐的驱动程序是“systemd”。

所以我们更换一下驱动。

当时忘记截图,图片来自下面链接的大佬。

解决前:

解决方法:

修改docker

由于Ubuntu默认没有设置root,所以设置一下root用户

$ sudo passwd root
$ su root

输入密码后,切换root用户:su root

修改 /etc/docker/daemon.json

$ vim  /etc/docker/daemon.json

#加入以下内容
{
        "registry-mirrors": ["https://y0qd3iq.mirror.aliyuncs.com"],
		"exec-opts":["native.cgroupdriver=systemd"]

}

然后重新加载json配置,重启docker服务

$ systemctl daemon-reload
$ systemctl restart docker

解决后:

$ docker info | grep Cgrou

参考链接:https://www.cnblogs.com/liuyi778/p/12123994.html

解决kubernetes v1.21.1 从 registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0 拉取镜像失败的问题

虽然我已经配置了阿里镜像仓库,但是还是无法下载coredns。

报错信息

Pulled registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0

failed to pull image "registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.0": output: Error response from daemon: pull access denied for registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

, error: exit status 1

解决方案

#1.手动下载镜像 
hadoop@master:~$ docker pull coredns/coredns
#2.查看kubeadm需要镜像
hadoop@master:~$ kubeadm config images list 
#3.查看镜像
hadoop@master:~$ docker images
#4.打标签,修改名称
hadoop@master:~$ docker tag coredns/coredns:latest registry.aliyuncs.com/google_containers/coredns/coredns:v1.8.0
#5.删除多余镜像
hadoop@master:~$ docker rmi coredns/coredns:latest

参考链接:https://blog.51cto.com/8999a/2784605

解决flannel无法下载问题

查看所有节点的状态:

$ kubectl get nodes
NAME       STATUS     ROLES    AGE     VERSION
master01   NotReady   master   3m21s   v1.19.3
node01     NotReady   <none>   71s     v1.19.3
node02     NotReady   <none>   56s     v1.19.3

发现STATUSNotReady,是因为我们还没有安装网络组件。

安装网络:

$ kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml

再次检测,已经Ready

$ kubectl get nodes
NAME       STATUS   ROLES    AGE     VERSION
master01   Ready    master   4m32s   v1.19.3
node01     Ready    <none>   2m22s   v1.19.3
node02     Ready    <none>   2m7s    v1.19.3

参考链接:https://www.pkslow.com/archives/install-kubernetes-on-ubuntu-with-kubeadm

搭建k8s集群,master节点初始化init模板

$ sudo kubeadm init --apiserver-advertise-address=10.60.238.130 --image-repository registry.aliyuncs.com/google_containers  --kubernetes-version v1.21.1   --ignore-preflight-errors=Swap  --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16

其中需要修改的地方:

--apiserver-advertise-address: 自己的master节点的IP地址

--kubernetes-version: 自己的kubernetes版本,可以通过 kubectl version 进行查看

原文地址:https://www.cnblogs.com/wanpi/p/15023818.html