• 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 进行查看

  • 相关阅读:
    Java高并发17-LongAccumulator类详解
    Java高并发16-LongAdder类源码解析(下)
    SpringBoot之模板引擎
    SpringBoot之yml与properties配置文件格式的区别
    SpringBoot之SpringBoot整合静态资源访问
    SpringBoot之SpringBoot的启动方式
    SpringBoot之RestController注解
    SpringBoot之SpringBoot依赖引入
    SpringBoot之SpringBoot与SpringCloud之间的区别
    SpringBoot之IDEA创建SpringBoot项目
  • 原文地址:https://www.cnblogs.com/wanpi/p/15023818.html
Copyright © 2020-2023  润新知