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

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

    关注

    2867

    文章

    41578

    浏览量

    358241
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102988
  • 云平台
    +关注

    关注

    1

    文章

    1078

    浏览量

    38518
  • 树莓派
    +关注

    关注

    113

    文章

    1636

    浏览量

    104701
  • 边缘计算
    +关注

    关注

    22

    文章

    2799

    浏览量

    46006
收藏 人收藏

    评论

    相关推荐

    【飞腾4G版免费试用】飞腾+4G+EMQX+eKuiper +Zigbee 传感器搭建物联网边缘计算网关

    及安全问题,为此我们使用飞腾开发板+4G+EMQX+eKUIPER+ Zigbee 搭建了一套适用于户外的物联网数据边缘计算处理。 1. 项目组件 硬件部分: 控制器:飞腾
    发表于 12-29 18:25

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

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

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

    边缘计算平台开源框架是指基于边缘计算概念开发的开源软件框架,用于构建和管理边缘
    的头像 发表于 12-27 15:17 470次阅读

    树莓都有哪些功能,是用什么编程的?

    怎么学习树莓树莓和传统单片机的区别是哪些,如果有了树莓该学哪些知识
    发表于 11-09 07:51

    树莓烧录后死机怎么办?

    树莓烧录后死机怎么办
    发表于 10-24 08:06

    树莓如何调整SD卡的分区大小?

    树莓如何调整SD卡的分区大小
    发表于 10-24 06:23

    如何用树莓学习Linux内核源码?

    怎么用树莓学习Linux内核源码?​
    发表于 10-20 07:09

    树莓Python编程指南分享

    树莓python编程指南
    发表于 10-07 08:43

    树莓传感器教程

    树莓传感器教程
    发表于 10-07 07:13

    树莓的15个应用

    树莓15个应用
    发表于 10-07 06:42

    树莓3树莓4原理图分享

    提供了树莓3、树莓3B、树莓4版本的原理图
    发表于 09-27 07:58

    树莓全新可更换镜头相机配件官方指南

    树莓相机!树莓推出1230万像素可更换镜头相机配件,配备索尼IMX477传感器,可兼容C和CS卡口镜头,售价50美元!
    发表于 09-26 06:11

    基于飞腾边缘物联网关

    本帖最后由 zhh763984017 于 2023-9-21 16:53 编辑 今天给大家分享一个飞腾的一个应用场景——边缘物联网关。边缘物联网关可以连接各种物联网设备和传感器,实现数据采集
    发表于 09-21 16:50

    【IoT毕设】机智平台+STM32+树莓的草莓采摘机器人控制系统

    的软件设计主要包括RT-thread实时操作系统在单片机上的移植调试、树莓3B+视觉识别、树莓与单片机数据传输的通讯调试、机智物联网和
    发表于 08-16 17:35

    树莓的故障分析检测

    各位大神,我的树莓B4,经常读不出卡数据,卡换个新的,故障依旧。请指点树莓的故障检查与维修。
    发表于 04-27 11:30