新买的树莓派4b到货后就迫不及待的烧录上raspberrypi系统,将新派加入我的k8s集群,期间遇到了点小挫折,好歹也一个一个解决了;

一、kubelet版本不对导致无法加入k8s集群

在执行kubeadm join时,提示无法连接127.0.0.1:10248;去master节点上看了下这个端口对应的服务是kubelet,那就是kubelet无法启动,我手动强制启动也是失败的;后来查看了下master的kubelet版本,发现master的kubelet版本是v1.23.5;而我新树莓派上的kubelet是v1.24.2;node节点的kubelet版本比master上的还高,于是就果断卸载v1.24.2,安装跟master一致的版本;

apt-get remove kubelet kubeadm kubectl  # 卸载当前的版本
apt-cache madison kubelet # 查看当前kubelet的所有版本
apt-get install kubelet=1.23.5-00 kubeadm=1.23.5-00 kubectl=1.23.5-00 # 安装kubelet v1.23.5(版本号要写用apt-cache madison命令查到的版本写)

为了避免kubeadm和kubectl也因为版本高而无法加入k8s集群,同样卸载安装了跟master一致的版本;

二、因为时区问题导致无法加入k8s集群

kubelet版本没有问题之后,执行kubeadm join发现还是无法加入k8s集群,看报错是时间问题,用date命令发现竟然不是CST时间,于是开始更改时区为Asia/Shanghai

dpkg-reconfigure tzdata

三、因为“missing required cgroups: memory”报错导致无法加入k8s集群

看了下github上老外的解释:出现这个的原因是因为树莓派5.x以上的内核缺少cgroup; https://github.com/raspberrypi/linux/issues/3644

CGROUPS_MEMORY: missing
CGROUPS_PIDS: enabled
CGROUPS_HUGETLB: missing
[WARNING SystemVerification]: missing optional cgroups: hugetlb
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR SystemVerification]: missing required cgroups: memory
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

在执行以下方式之前需要将前面执行kubeadm jion生成的配置文件删除掉,路径:/etc/kubernetes/kubelet.conf和/etc/kubernetes/pki/ca.crt

以下两种方式二选一即可

方式1:直接忽略该错误 ,加入--ignore-preflight-errors all参数

root@pinode1:/etc/kubernetes # kubeadm join 192.168.31.85:6443 --token ejdy9l.3p2bae948grk4mr8 --discovery-token-ca-cert-hash sha256:ecbf80d7c76e21074d6ef09107cf222c4aba350b36fa56bbce6e2ede483a1116 --ignore-preflight-errors all

方式2:编辑/boot/cmdline.txt(推荐

添加cgroup_enable=memory cgroup_memory=1参数

console=serial0,115200 console=tty1 root=PARTUUID=0a27722f-02 rootfstype=ext4 fsck.repair=yes rootwait cgroup_enable=memory cgroup_memeory=1

编辑完保存之后,需要reboot重启树莓派;

再次执行kubeadm jion加入k8s集群,不再有“missing required cgroups: memory”错误;

master节点上查看新的pinode2节点也加入了k8s集群

raspberrypi系统在加入k8s作为node节点时遇到的问题的更多相关文章

  1. 第三章 k8s的node节点配置

    一.修改主机名 hostnamectl set-hostname xxx 二.修改hosts文件vim /etc/hosts 三.将写好的hosts文件拷贝到其他节点 scp /etc/hosts r ...

  2. k8s的node节点无法调度的问题

    1.现象,创建deployment时 2.查看污点 [fedora@k8s-cluster--ycmwlao4q5wz-master- ~]$ kubectl describe node k8s-cl ...

  3. k8s的node节点,执行kubectl get XXX报错

    报错现象: [root@localhost ~]# kubectl get nodes The connection to the server localhost:8080 was refused ...

  4. k8s node节点部署(v1.13.10)

    系统环境: node节点 操作系统: CentOS-7-x86_64-DVD-1908.iso node节点 IP地址: 192.168.1.204 node节点 hostname(主机名, 请和保持 ...

  5. k8s集群添加node节点(使用kubeadm搭建的集群)

    1.安装docker.kubelet.kubectl.kubeadm.socat # cat kubernets.repo[kubernetes]name=Kubernetesbaseurl=http ...

  6. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  7. K8s集群部署(三)------ Node节点部署

    之前的docker和etcd已经部署好了,现在node节点要部署二个服务:kubelet.kube-proxy. 部署kubelet(Master 节点操作) 1.二进制包准备 [root@k8s-m ...

  8. Node节点如何加入K8S集群

    k8s集群中,有时候发现有些节点状态为 NotReady,如何修复为Ready状态呢? [root@k8s-master~]# kubectl get nodes NAME STATUS ROLES ...

  9. K8S踩坑篇-master节点作为node节点加入集群

    前面我们二进制部署K8S集群时,三台master节点仅仅作为集群管理节点,所以master节点上中并未部署docker.kubelet.kube-proxy等服务.后来我在部署mertics-serv ...

随机推荐

  1. Promise与async/await与Generator

    Promise是什么: Promise是异步微任务(process.nextTick.Promise.then() catch() finally()等),用于解决异步多层嵌套回调的问题(回调地狱-- ...

  2. navicat软件、 python操作MySQL

    查询关键字之having过滤 having与where的功能是一模一样的 都是对数据进行筛选 where用在分组之前的筛选 havng用在分组之后的筛选 为了更好的区分 所以将where说成筛选 ha ...

  3. crontab和cron表达式详解

    引言 我们在定时任务中经常能接触到cron表达式,但是在写cron表达式的时候我们会遇到各种各样版本的cron表达式,比如我遇到过5位.6位甚至7位的cron表达式,导致我一度搞混这些表达式.更严重的 ...

  4. 最新管家婆财贸ERP C9 V22.0的应用网页版的财务软件1000用户补丁免狗授权注册机网络版软件下载

    管家婆财贸ERPC9应用价值: 1.多组织独立核算 多种组织形态核算,出具独立的三大财务报表及业务报表,发挥经营管理的积极性,便于专业化运营. 2.兼顾统筹与分权 满足多种集团统管与分权管控模式需求, ...

  5. 846. Hand of Straights - LeetCode

    Question 846. Hand of Straights Solution 题目大意:打牌,判断牌是否能全部按顺子出 思路:构造一个list,存储1,2,3,4,5,6,7,8并排序,构造一个m ...

  6. ML第6周学习小结

    本周收获 总结一下本周学习内容: 1.学习了<深入浅出Pandas>的第六章:Pandas分组聚合 6.1概述 6.2分组 6.3分组对象的操作 我的博客链接: Pandas 分组聚合 : ...

  7. 三面阿里,被Java面试官虐哭!现场还原真实的“被虐”场景

    前言 人人都有大厂梦,我也不例外,从大三开始,就一直想进入阿里工作,大毕竟是大厂,想想也没那么容易,不过好在自己学历还过得去,项目经验也有得讲,所以今年也斗胆尝试了一下,直接就投了阿里云计算.简历是过 ...

  8. 可变参数——JavaSE基础

    可变参数 方法声明中,在指定参数类型后加一个省略号...即可声明可变参数 可变参数必须是参数列表的最后一个参数 声明 public void test(int... i){ System.out.pr ...

  9. 6月6日,HTTP/3 正式发布了!

    经过了多年的努力,在 6 月 6 号,IETF (互联网工程任务小组) 正式发布了 HTTP/3 的 RFC, 这是超文本传输协议(HTTP)的第三个主要版本,完整的 RFC 超过了 20000 字, ...

  10. 接口测试postman深度挖掘应用③--postman终结篇

    上一章节我们介绍了postman的变量测试以及导入数据测试基本上技术性的东西已经差不过了,这篇文章再系统性的介绍一下. 一.下载 官网:https://www.postman.com 1.选择需要下载 ...