新买的树莓派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. pytorch入门--土堆深度学习快速入门教程

    工具函数 dir函数,让我们直到工具箱,以及工具箱中的分隔区有什么东西 help函数,让我们直到每个工具是如何使用的,工具的使用方法 示例:在pycharm的console环境,输入 import t ...

  2. Centons7最小化安装报错:ping: baidu.com: Name or service not know

    在这之前,centos7最小化安装默认是不能联网的,首先必须切换到root用户,再解决网络问题 一.      切换到root用户 二.      解决网络问题  一.切换到root用户 Linux下 ...

  3. 从NSSRound#1学到了什么

    sql_by_sql 二次注入: 更改密码的功能形如: update user set password='%s' where username='%s'; 的语句就可以存在二次注入,即假设有个adm ...

  4. 【数据库】MySQL如何删除索引

    1.查看表上的索引 -- 查看table_name表上的索引 show index from table_name ; 2.删除表上的索引 删除索引可以使用ALTER TABLE或DROP INDEX ...

  5. HBase数据库基础操作

    实验要求: 根据上面给出的学生表Student的信息,执行如下操作: 用Hbase Shell命令创建学生表Student: create 'student','name', 'score' put ...

  6. OpenHarmony3.1 Release版本特性解析——硬件资源池化架构介绍

    李刚 OpenHarmony 分布式硬件管理 SIG 成员 华为技术有限公司分布式硬件专家 OpenHarmony 作为面向全场景.全连接.全智能时代的分布式操作系统,通过将各类不同终端设备的能力进行 ...

  7. git clone 问题

    转自 git clone出现 fatal: unable to access 'https://github.com/...'的解决办法(亲测有效) - 山村码农 - 博客园 (cnblogs.com ...

  8. 前端2CSS2

    内容概要 伪元素选择器 选择器优先级 字体样式 文字属性 背景属性 display属性 边框属性 盒子模型 浮动(重要) 解决浮动造成的影响 内容详情 伪元素选择器 """ ...

  9. Linux系列之安装中文字体

    Linux系统安装中文字体 拷贝字体文件至Linux 从windows电脑的C:\Windows\fonts复制字体文件上传至Linux服务器新建的目录下 复制ttc.ttf文件至Linux服务器字体 ...

  10. 微信小程序使用 ECharts

    echarts-for-weixin 是 ECharts 官方维护的一个开源项目,提供了一个微信小程序组件(Component),我们可以通过这个组件在微信小程序中使用 ECharts 绘制图表. e ...