raspberrypi系统在加入k8s作为node节点时遇到的问题
新买的树莓派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节点时遇到的问题的更多相关文章
- 第三章 k8s的node节点配置
一.修改主机名 hostnamectl set-hostname xxx 二.修改hosts文件vim /etc/hosts 三.将写好的hosts文件拷贝到其他节点 scp /etc/hosts r ...
- k8s的node节点无法调度的问题
1.现象,创建deployment时 2.查看污点 [fedora@k8s-cluster--ycmwlao4q5wz-master- ~]$ kubectl describe node k8s-cl ...
- k8s的node节点,执行kubectl get XXX报错
报错现象: [root@localhost ~]# kubectl get nodes The connection to the server localhost:8080 was refused ...
- k8s node节点部署(v1.13.10)
系统环境: node节点 操作系统: CentOS-7-x86_64-DVD-1908.iso node节点 IP地址: 192.168.1.204 node节点 hostname(主机名, 请和保持 ...
- k8s集群添加node节点(使用kubeadm搭建的集群)
1.安装docker.kubelet.kubectl.kubeadm.socat # cat kubernets.repo[kubernetes]name=Kubernetesbaseurl=http ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...
- K8s集群部署(三)------ Node节点部署
之前的docker和etcd已经部署好了,现在node节点要部署二个服务:kubelet.kube-proxy. 部署kubelet(Master 节点操作) 1.二进制包准备 [root@k8s-m ...
- Node节点如何加入K8S集群
k8s集群中,有时候发现有些节点状态为 NotReady,如何修复为Ready状态呢? [root@k8s-master~]# kubectl get nodes NAME STATUS ROLES ...
- K8S踩坑篇-master节点作为node节点加入集群
前面我们二进制部署K8S集群时,三台master节点仅仅作为集群管理节点,所以master节点上中并未部署docker.kubelet.kube-proxy等服务.后来我在部署mertics-serv ...
随机推荐
- Hive 3.x 配置&详解
Hive 1. 数据仓库概述 1.1 基本概念 数据仓库(英语:Data Warehouse,简称数仓.DW),是一个用于存储.分析.报告的数据系统. 数据仓库的目的是构建面向分析的集成化数据环境,分 ...
- 深入C++06:深入掌握OOP最强大的机制
深入掌握OOP最强大的机制 1. 继承的基本意义 类与类之间的关系:①组合:a part of ... 一部分的关系:②继承: a kind of ... 属于同一种的关系: 继承的本质:a. 代码的 ...
- npm 是什么?
npm 是什么? 本文写于 2020 年 6 月 16 日 最近帮几个同学装开发环境,发现他们会各种"卡死"在 npm 安装一些包的过程中. 他们会非常纠结这个命令我明明敲的和网上 ...
- 【SSM框架】Spring笔记 --- 事务详解
1.Spring的事务管理: 事务原本是数据库中的概念,在实际项目的开发中,进行事务的处理一般是在业务逻辑层, 即 Service 层.这样做是为了能够使用事务的特性来管理关联操作的业务. 在 Spr ...
- 一次生产环境的docker MySQL故障
问题 昨天下午本来要去吃下午茶,然后前端小伙伴突然说接口怎么崩了,我登上sentry一看,报错了 (2005, "Unknown MySQL server host 'mysql' (-3) ...
- ML第一周学习小结
最近的学习内容为<Python机器学习基础教程>这本书 从第一章开始,慢慢来,比较快. 一下为我的本周机器学习小结,以及下周的Flag. 本周收获 总结一下本周学习内容: 1.了解到机器学 ...
- 论文解读(AGE)《Adaptive Graph Encoder for Attributed Graph Embedding》
论文信息 论文标题:Adaptive Graph Encoder for Attributed Graph Embedding论文作者:Gayan K. Kulatilleke, Marius Por ...
- 前端2CSS2
内容概要 伪元素选择器 选择器优先级 字体样式 文字属性 背景属性 display属性 边框属性 盒子模型 浮动(重要) 解决浮动造成的影响 内容详情 伪元素选择器 """ ...
- PyTorch DataLoader NumberWorkers Deep Learning Speed Limit Increase
这意味着训练过程将按顺序在主流程中工作. 即:run.num_workers. ,此外, ,因此,主进程不需要从磁盘读取数据:相反,这些数据已经在内存中准备好了. 这个例子中,我们看到了20%的加 ...
- JVM 输出 GC 日志导致 JVM 卡住,我 TM 人傻了
本系列是 我TM人傻了 系列第七期[捂脸],往期精彩回顾: 升级到Spring 5.3.x之后,GC次数急剧增加,我TM人傻了:https://zhuanlan.zhihu.com/p/3970425 ...