0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

树莓派-搭建边缘计算云平台

树莓派-java-物联网 来源:树莓派-java-物联网 作者:树莓派-java-物联网 2022-12-03 00:17 次阅读

【软件安装版本】【集群安装(是) 】

版本号 文档编写 文档审核 创建日期 修改日期
1.0 2022.4.10

部署规划与架构

规划:(集群:网络规划,服务器规划)

三台树莓派,安装centos7,arm64版本,对应三台机器

192.168.0.100 k8smaster

192.168.0. 101 k8snode1

192.168.0. 102 k8snode2

架构(集群:拓扑图)

支撑业务

用于树莓派项目自动化运维的集群

运行环境安装

硬件

192.168.0.100 k8smaster: 树莓派4b+ 8g,

192.168.0.101 k8snode1: 树莓派4b+ 8g,

192.168.0. 102 k8snode2树莓派4b+ 8g

操作系统

CentOS-7-arrch64

依赖

docker-ce 18.09.9

k8s v1.16.0

环境配置

设置ssh,可ssh访问,安装

资源配置

192.168.0. 100 k8smaster: 8g内存,CPU 4核,120g硬盘

192.168.0. 101 k8snode1: 4g内存,CPU 2核,64g硬盘

192.168.0. 102 k8snode2: 4g内存,CPU 2核,64g硬盘

集群部署部署

安装包获取与安装

操作系统:http://centos.mirror.digitalpacific.com.au/8/BaseOS/aarch64/

安装教程:树莓派安装centos操作系统_水上冰石的博客-CSDN博客_树莓派能装centos吗

检测依赖环境是否就绪

查看docker和kubectl是否安装

Kubectl 已安装,先卸载

Kubectl get nodes

kubeadm reset -f
rm -rf /etc/cni/net.d
ipvsadm --clear
modprobe -r ipip
lsmod
yum remove -y kubelet kubeadm kubectl
rm -rf ~/.kube/
rm -rf /etc/kubernetes/
rm -rf /etc/systemd/system/kubelet.service.d
rm -rf /etc/systemd/system/kubelet.service
rm -rf /usr/bin/kube*
rm -rf /etc/cni
rm -rf /opt/cni
rm -rf /var/lib/etcd
rm -rf /var/etcd

docker info,如果已安装,先卸载

[root@localhost etc]# systemctl stop docker
[root@localhost etc]# sudo systemctl stop docker.socket
[root@localhost etc]# yum list installed |grep docker
[root@localhost etc]# rpm -qa |grep docker
[root@localhost etc]# yum -y remove docker*.aarch64
[root@localhost etc]# rm -rf /var/lib/docker

安装集群

3.1 安装docker

所有节点:

安装docker-ce 18.09.9(所有机器)
** 安装docker所需的工具**
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
配置阿里云的docker源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
指定安装这个版本的docker-ce
docker-ce-cli-18.09.9-3.el7 这个也加上,不然会自动安装高版本的docker命令行。
sudo yum install -y docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7
启动docker
sudo systemctl enable docker && systemctl start docker
————————————————
版权声明:本文为CSDN博主「shelutai」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shelutai/article/details/122620084

3.2 安装k8s

环境配置

设置k8s环境准备条件(所有机器)
关闭防火墙
sudo systemctl disable firewalld &&
sudo systemctl stop firewalld
关闭selinux
临时禁用selinux
sudo setenforce 0
永久关闭 修改/etc/sysconfig/selinux文件设置
sudo sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
禁用交换分区
sudo swapoff -a
永久禁用,打开/etc/fstab注释掉swap那一行。
sudo sed -i 's/.*swap.*/#&/' /etc/fstab
修改内核参数
cat <  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

主节点

安装k8s v1.16.0
注意,这个只在master管理节点
执行配置k8s阿里云源
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
安装kubeadm、kubectl、kubelet
yum install -y kubectl-1.16.0-0 kubeadm-1.16.0-0 kubelet-1.16.0-0
启动kubelet服务
systemctl enable kubelet && systemctl start kubelet

3.3其他节点 安装

安装kubeadm、kubectl、kubelet
yum install -y kubectl-1.16.0-0 kubeadm-1.16.0-0 kubelet-1.16.0-0
启动kubelet服务
systemctl enable kubelet && systemctl start kubelet

3.4 主节点初始化

kubeadm init --apiserver-advertise-address=192.168.65.130 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --token-ttl 0

出现下面图为完成

3.5 主节点操作

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

3.6数据节点操作(从生成的日志里拷贝)

kubeadm join 192.168.65.130:6443 --token bzm6no.zazo7em8anknc1ms
--discovery-token-ca-cert-hash xxxxxxx

3.7 主节点操作

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

验证

主节点下操作

kubectl get nodes

需要等待几分钟,才会ready

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rC05LiK5Yaw55-z,size_20,color_FFFFFF,t_70,g_se,x_16poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

​编辑

主节点修改标签

kubectl label no k8snode1 kubernetes.io/role=k8snode1
kubectl label no k8snode2 kubernetes.io/role=k8snode2

注意事项

常见问题与解决方式

1.1 targetcli-2.1.53-1.el7_9.noarch 是 targetcli-2.1.fb49-1.el7.noarch 的副本

1,2 安装冲突

Transaction check error:
file /usr/bin/kubectl from install of kubectl-1.16.0-0.aarch64 conflicts with file from package kubernetes-client-1.5.2-0.7.git269f928.el7.centos.aarch64
错误概要
-------------
[root@k8smaster ~]# yum remove kubernetes-client-1.5.2-0.7.git269f928.el7.centos.aarch64

node节点:报错

kubeadm join 192.168.0.200:6443 --token kllwou.lhjtvabxo194fi2r --discovery-token-ca-cert-hash sha256:ae4e31db3519691137eba1fd566eb073f2007da215f76e6b612ed17522b9e26b
[preflight] Running pre-flight checks
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist
[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

解决方案:参考:https://www.jianshu.com/p/4d2a84afebaa

yum install bridge-utils -y
echo br_netfilter > /etc/modules-load.d/br_netfilter.conf
modprobe br_netfilter

重启电脑

附件

K8s切换源地址:阿里云开源镜像站资源目录

参考博客:

1. Docker彻底卸载:https://blog.csdn.net/qq_29726869/article/details/113353315

2. https://blog.csdn.net/shelutai/article/details/122620084

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2909

    文章

    44557

    浏览量

    372791
  • JAVA
    +关注

    关注

    19

    文章

    2966

    浏览量

    104702
  • 云平台
    +关注

    关注

    1

    文章

    1302

    浏览量

    38943
  • 树莓派
    +关注

    关注

    116

    文章

    1706

    浏览量

    105609
  • 边缘计算
    +关注

    关注

    22

    文章

    3084

    浏览量

    48894
收藏 人收藏

    评论

    相关推荐

    树莓与Arduino的区别是什么

    Pi): 树莓最初是作为教育工具设计的,旨在帮助学生学习计算机编程和电子工程。随着时间的推移,它已经发展成为一个多功能的微型计算机,可以用于各种项目,包括但不限于: 家庭媒体中心
    的头像 发表于 11-11 11:14 663次阅读

    边缘计算计算的区别

    边缘计算计算是两种不同的计算模式,它们在计算资源的分布、应用场景和特点上存在显著差异。以下是
    的头像 发表于 10-24 14:08 379次阅读

    计算边缘计算的结合

    计算边缘计算的结合是当前信息技术发展的重要趋势,这种结合能够充分发挥两者的优势,实现更高效、更可靠的数据处理和分析。以下是对
    的头像 发表于 10-24 09:19 452次阅读

    树莓gpio有什么用,树莓gpio接口及编程方法

    一、树莓GPIO的用途 树莓(Raspberry Pi)是一款小巧、功能强大的单板计算机,广泛应用于编程教育、物联网项目、家庭媒体中心等
    的头像 发表于 10-22 18:09 775次阅读

    什么是树莓树莓是什么架构的

    什么是树莓 树莓(Raspberry Pi,简写为RPi,别名为RasPi/RPI)是由英国“Raspberry Pi 慈善基金会”开发的一款为学习
    的头像 发表于 10-22 17:33 783次阅读

    树莓网关:物联网应用的新标杆

    的特点是体积小巧(大约信用卡大小),但功能齐全,足以支持多种计算任务。 树莓经常被用作物联网网关,收集设备数据,然后将数据上传平台,并还
    的头像 发表于 10-09 16:44 291次阅读
    类<b class='flag-5'>树莓</b><b class='flag-5'>派</b>网关:物联网应用的新标杆

    树莓和单片机的优缺点是什么

    树莓(Raspberry Pi)和单片机(Microcontroller)是两种广泛应用于电子项目和嵌入式系统的硬件平台。它们各自具有独特的优缺点,适用于不同的应用场景。 树莓
    的头像 发表于 08-30 18:21 1618次阅读

    树莓的功能用途是什么

    树莓(Raspberry Pi)是一款由英国树莓基金会研发的信用卡大小的单板计算机,自2012年推出以来,已经发展出多个型号和版本。
    的头像 发表于 08-30 18:01 2548次阅读

    树莓是x86还是arm

    树莓(Raspberry Pi)是一款由英国树莓基金会(Raspberry Pi Foundation)开发的微型计算机。它基于ARM架
    的头像 发表于 08-30 15:42 969次阅读

    树莓装ubuntu和raspbian哪个更好

    树莓(Raspberry Pi)是一款由英国树莓基金会开发的单板计算机,广泛应用于教育、科研、物联网等领域。
    的头像 发表于 08-30 15:41 1276次阅读

    树莓和arm开发板的区别

    树莓(Raspberry Pi)和ARM开发板都是基于ARM架构的微型计算机,但它们之间存在一些关键区别。 一、历史背景 树莓(Rasp
    的头像 发表于 08-30 15:36 992次阅读

    佰维存储microSD卡通过树莓AVL认证

    树莓为英国树莓基金会开发的微型单板计算机,其以小尺寸、高性能、低成本和易开发等特点,广泛应用于物联网、工业自动化、智慧农业、人工智能、新
    的头像 发表于 01-23 17:19 423次阅读
    佰维存储microSD卡通过<b class='flag-5'>树莓</b><b class='flag-5'>派</b>AVL认证

    宏集方案 | 如何用工业树莓和MQTT平台打通OT和IT?

    如何用工业树莓和MQTT平台打通OT和IT?
    的头像 发表于 01-05 11:01 375次阅读
    宏集方案 | 如何用工业<b class='flag-5'>树莓</b><b class='flag-5'>派</b>和MQTT<b class='flag-5'>平台</b>打通OT和IT?

    边缘计算平台是什么配置的

    边缘计算平台是一个分布式计算架构,可以在靠近数据源的边缘设备上执行计算任务。它解决了传统
    的头像 发表于 12-27 15:23 900次阅读

    边缘计算平台开源框架有哪些类型

    将详细介绍几种常见的边缘计算平台开源框架。 Akraino Edge Stack Akraino Edge Stack 是一个开放、轻量级、灵活的
    的头像 发表于 12-27 15:17 1304次阅读