【kubeEdge】离线部署

2024-04-16 11:12
文章标签 部署 离线 kubeedge

本文主要是介绍【kubeEdge】离线部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

部署 kubeEdge

在线部署

在线方式部署直接执行以下命令,会联网下载需要的安装文件执行安装

$ keadm init --advertise-address={ip} --kubeedge-version={version} --kube-config={config_path},

离线部署

离线准备工作

所有下载操作均在可以联网的机子上进行,然后复制到需要安装的部署机

从 kubeEdge 的官方 git 仓库的 https://github.com/kubeedge/kubeedge/releases 中获取合适的版本的 keadm 和 kubeedge 包,以及校验包

在云端和边端主机上,都执行下面的步骤:

  • 将 keadm 压缩包中的可执行文件 keadm 复制到 ​​/usr/local/bin​​ 下 tar -xvf
  • 将 kubeedge 压缩包(cloudcore和edgecore的二进制文件)放置到 ​​/etc/kubeedge​​ 目录下
  • 将 checksum 放置到 ​​/etc/kubeedge​​ 目录下
  • 选择合适的版本,从 https://github.com/kubeedge/kubeedge 下载源码
云端 cloudcore
  1. 复制所需物料到云端主机
  1.   将源码中 ​​/build/crds​​​ 中的所有内容拷贝到云端部署机的 ​​/etc/kubeedge/crds​​ 目录
  2.   将源码中 ​​/build/tools/cloudcore.service​​​ 文件放置到云端部署机的 ​​/etc/kubeedge​​ 目录
  1. 使用下面的命令初始化 cloudcore
keadm init --advertise-address={ip} --kubeedge-versinotallow={version} --kube-cnotallow={config_path}
  1. ip 换成 cloudcore 所在的主机 ip
  2. version 换成自己的安装的版本,因为 keadm 默认版本不一定和我们需要的一样。
  3. config 路径指向 kubernetes 的配置路径,默认是​​/root/.kube/config​​,也可设置为 /etc/kubernetes/admin.conf
  4.   如果出现下面的内容,初始化成功
Kubernetes version verification passed, KubeEdge installation will start... 
KubeEdge cloudcore is running, For logs visit: /var/log/kubeedge/cloudcore.log 
CloudCore started
  1. 修改 flannel-ds 和 kube-proxy 的配置
  1.   通过kubectl edit ds -n kube-system kube-flannel-ds修改flannel配置:
  2.   通过kubectl edit ds -n kube-system kube-proxy修改kube-proxy配置:
  1. 云端配置文件 cloudcore.yaml
  1.   /etc/kubeedge/config/cloudcore.yaml
边端 edgecore
  1. 安装 MQTT 服务
  1.   在边缘节点还需要安装 MQTT 服务,需要以下的 deb 包和依赖:
  2.   下载 mosquitto 服务端和客户端以及依赖包
$ apt install mosquitto     
$ apt install mosquitto-clients
# 连配置卸载:apt autopurge  mosquitto
  1.   安装 apt 增强工具,并下载依赖包
# 创建目录
$ mkdir mosquitto
# apt 增强工具
$ apt install aptitude 
# 清理缓存空间
$ aptitude clean
# 只下载依赖且不安装
$ aptitude --download-only install mosquitto
# 将依赖deb从缓存拷贝置创建当前目录
$ mv /var/cache/apt/archives/*.deb ./
  1.   执行安装
$ dpkg -i ./mosquitto/*.deb
  1. 配置 MQTT 服务
  1.   添加配置文件
  2.   在​​/etc/mosquitto/conf.d​​​目录下,添加配置文件​​myconfig.conf​​ 配置文件:
sudo vi /etc/mosquitto/conf.d/myconfig.conf
  1.   粘入下面这些配置
#添加 broker 监听端口(很重要,否则只能本机访问)
listener 1883
#-------------------------------------------
# 如果关闭匿名访问,客户端必须使用用户名密码
allow_anonymous true#指定 用户名-密码 文件
password_file /etc/mosquitto/pwfile.txt
#--------------------------------------------
  1. 添加账户密码
sudo mosquitto_passwd -c /etc/mosquitto/pwfile.txt <<用户名>>
  1. 启动mosquitto查看运行状态
sudo service mosquitto start
sudo service mosquitto status
  1. 在云端运行 keadm gettoken 将返回 token 令牌,该令牌将在加入边缘节点时使用。
  2. 复制所需物料到边端主机
  1.   将源码中 ​​./build/tools/edgecore.service​​​ 文件复制到边端主机的 ​​/etc/kubeedge​​ 目录
  2.   通过下面的命令让边端纳入云端管理
$ keadm join --cloudcore-ipport={ip}:{port} --kubeedge-version={version} --token={token}
  1.   可以通过 journalctl -u edgecore.service -f 查看 edgecore 的日志,或在云端 kubectl get nodes 查看是否能看到我们刚加入的 edge 节点(systemcl status)
  1. 检查服务状态
service edgecore status
  1. 导入pause镜像
  1.   在能联网的机子上拉取 kubeedge/pause:3.1 镜像,使用 docker save -o kubeedge_pause_3.1.tar kubeedge/pause:3.1 命令打包,在边缘节点上,使用 docker load -i kubeedge_pause_3.1.tar 命令导入镜像
  1. 配置边端配置文件 edgecore.yaml
  1.   /etc/kubeedge/config/edgecore.yaml

edge Pod 实验

如果想要将应用调度到edge端,需要给edge端打上标签后,在应用的yaml文件中进行指定。

kubectl label nodes edge name=edge

根据k8s的这个规则,可以将节点通过 label 的方式进行分组,比如将某几个节点都打上标签为 name=edge,当调度应用到 edge 节点时,会找到 label 为 edge 的所有节点,根据设置的副本数,将应用启动起来,如果设置的副本数超过了设置 edge 标签的节点数,则多出的将会显示 pending 状态,从而无法启动。

编辑应用的 yaml 文件,添加 nodeSelector,下面给出一个例子 nginx.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-deploymentlabels:app: nginx
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:nodeSelector: ##添加的配置name: "edge" ##打的标签是什么,这里就写什么containers:- name: nginximage: nginx:latestimagePullPolicy: IfNotPresentports:- containerPort: 80hostPort: 80

通过 kubectl get pod -o wide 查看,可看到该pod成功被部署到edge01节点上。

在边缘节点上查看容器 docker ps

启用 kubectl logs 功能

如果不开启此功能,在云端无法通过 kubectl logs 查看边端 pods 的日志

开启云端的 cloudStream 和边端的 edgeStream(websocketde 的另外一个通道10003),通过该通道传递数据

云端支持 Metrics-server

需要复用 kubectl logs 中的 cloudStream 和 edgeStream 的通道

重置部署

清除 keadm init 或 keadm join 造成的影响均可使用 keadm reset,这个操作会删除 /etc/kubeedge 下的文件,如有需要请提前备份。重置操作不会清理 /etc/mosquitto

这篇关于【kubeEdge】离线部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/908633

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Solr部署如何启动

Solr部署如何启动 Posted on 一月 10, 2013 in:  Solr入门 | 评论关闭 我刚接触solr,我要怎么启动,这是群里的朋友问得比较多的问题, solr最新版本下载地址: http://www.apache.org/dyn/closer.cgi/lucene/solr/ 1、准备环境 建立一个solr目录,把solr压缩包example目录下的内容复制

Spring Roo 实站( 一 )部署安装 第一个示例程序

转自:http://blog.csdn.net/jun55xiu/article/details/9380213 一:安装 注:可以参与官网spring-roo: static.springsource.org/spring-roo/reference/html/intro.html#intro-exploring-sampleROO_OPTS http://stati

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

部署若依Spring boot项目

nohup和& nohup命令解释 nohup命令:nohup 是 no hang up 的缩写,就是不挂断的意思,但没有后台运行,终端不能标准输入。nohup :不挂断的运行,注意并没有后台运行的功能,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,注意了nohup没有后台运行的意思;&才是后台运行在缺省情况下该作业的所有输出都被重定向到一个名为nohup.o

kubernetes集群部署Zabbix监控平台

一、zabbix介绍 1.zabbix简介 Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数,保障服务器及设备的安全运营。 2.zabbix特点 (1)安装与配置简单。 (2)可视化web管理界面。 (3)免费开源。 (4)支持中文。 (5)自动发现。 (6)分布式监控。 (7)实时绘图。 3.zabbix的主要功能

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4