当前位置: 首页 > news >正文

Linux部署kubeedge 1.4

文章目录

  • 一、机器信息
  • 二、环境准备(所有节点操作)
    • `2.1. 修改主机名`
    • `2.2. 开启路由转发`
    • `2.3.安装Docker(所有节点)`
    • `2.4.部署K8S集群(单机版,云端节点)`
  • `2.5.安装Mosquitto(只在边缘节点安装)`
  • 三、安装kubeedge 1.4
    • `3.1.配置Golang 环境(版本1.14.7)`
    • `3.2. 源码编译`
      • 编译云端
      • 编译边缘端
    • `3.3.创建设备模型和设备CRD`
    • `3.4.配置云端节点`
      • 3.4.1 通过systemd管理(推荐)
      • 3.4.2直接启动(便于调试)
    • `3.5.配置边缘端节点`
      • 3.5.1.云端节点操作
      • 3.5.2.边缘节点操作
      • 生成边缘节点的edgecore.yaml文件(cloud端操作)
      • 3.5.4.在边缘节点创建目录,传递edgecore.yaml文件
      • 修改edgecore.yaml文件(所有边缘节点)
      • 3.5.6.启动edgecore
        • 通过systemd管理(推荐)
        • 直接启动(便于调试)
    • `3.6.验证`
      • 3.6.1.在云端节点操作
      • 3.6.2.部署官方的 deployment


官方文档:https://docs.kubeedge.io/en/latest/
参考视频:https://www.bilibili.com/video/BV1LJ411D7t1?p=3
参考文章:https://blog.csdn.net/subfate/article/details/106463852

一、机器信息

我这共两台机器,192.168.1.10部署Master和cloudcore,192.168.1.11部署edgecore

二、环境准备(所有节点操作)

2.1. 修改主机名

根据IP地址修改,如hostnamectl set-hostname 192-168-1-10

2.2. 开启路由转发

sed -i 's/net.ipv4.ip_forward=.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sysctl -p

2.3.安装Docker(所有节点)

2.4.部署K8S集群(单机版,云端节点)

kubeadm部署K8s集群V1.19.0

注意:只需要部署Master相关组件

2.5.安装Mosquitto(只在边缘节点安装)

mosquitto镜像制作参考文章:https://anqixiang.blog.csdn.net/article/details/110451206

docker run -itd --restart always --name mosquitto -p 1883:1883 mosquitto:v1.0

三、安装kubeedge 1.4

3.1.配置Golang 环境(版本1.14.7)

tar xvf go1.14.7.linux-amd64.tar.gz -C /usr/local/bin/

vi /etc/profile #添加如下几行

#GO
export GO_HOME=/usr/local/bin/go
export PATH=$GO_HOME/bin:$PATH

source /etc/profile
go version

3.2. 源码编译

git config --global http.sslVerify false        #跳过SSL验证
cd /opt
git clone https://github.com/kubeedge/kubeedge.git
yum install gcc make -y

编译云端

cd /opt/kubeedge
make all WHAT=cloudcore

编译边缘端

make all WHAT=edgecore

生成的二进制位于_output/local/bin/目录下,把生成的二进制文件拷贝到/usr/local/bin/下

3.3.创建设备模型和设备CRD

cd /opt/kubeedge/build/crds/devices
kubectl create -f devices_v1alpha2_devicemodel.yaml
kubectl create -f devices_v1alpha2_device.yaml
cd /opt/kubeedge/build/crds/reliablesyncs
kubectl create -f cluster_objectsync_v1alpha1.yaml
kubectl create -f objectsync_v1alpha1.yaml

3.4.配置云端节点

mkdir -p /etc/kubeedge/config/
cloudcore --minconfig > /etc/kubeedge/config/cloudcore.yaml

cloudcore.yaml文件内容
在这里插入图片描述

3.4.1 通过systemd管理(推荐)

cp /data/kubeedge/build/tools/cloudcore.service /etc/systemd/system/cloudcore.service
vi /etc/systemd/system/cloudcore.service

修改启动命令为/usr/local/bin/cloudcore
在这里插入图片描述

systemctl daemon-reload
systemctl enable cloudcore
systemctl start cloudcore
journalctl -u cloudcore -f        #查看日志

3.4.2直接启动(便于调试)

nohup ./cloudcore > cloudcore.log 2>&1 & #启动cloudcore

3.5.配置边缘端节点

3.5.1.云端节点操作

scp /usr/local/bin/edgecore 192.168.1.11:/usr/local/bin/
scp /data/images/pause.tar 192.168.1.11:/data/

3.5.2.边缘节点操作

docker load -i /data/pause.tar
docker tag swr.cn-south-1.myhuaweicloud.com/anqixiang_k8s/pause:3.1 kubeedge/pause:3.1
mkdir -p /etc/kubeedge/{ca,certs,config}

生成边缘节点的edgecore.yaml文件(cloud端操作)

edgecore --minconfig > /etc/kubeedge/config/edgecore.yaml
sed -i 's|podSandboxImage: .*|podSandboxImage: kubeedge/pause:3.1|' /etc/kubeedge/config/edgecore.yaml
#修改token
token=$(kubectl get secret -nkubeedge tokensecret -o=jsonpath='{.data.tokendata}' | base64 -d)
sed -i  "s|token: .*|token: ${token}|g" /etc/kubeedge/config/edgecore.yaml

3.5.4.在边缘节点创建目录,传递edgecore.yaml文件

ssh 192.168.1.11 -t -t "mkdir -p /etc/kubeedge/{ca,certs,config}"
scp /etc/kubeedge/config/edgecore.yaml 192.168.1.11:/etc/kubeedge/config/

修改edgecore.yaml文件(所有边缘节点)

vi /etc/kubeedge/config/edgecore.yaml

hostnameOverride为当前节点的主机名
nodeIP为当前节点的物理IP地址

在这里插入图片描述
在这里插入图片描述

3.5.6.启动edgecore

通过systemd管理(推荐)

在云端节点操作

vi /data/kubeedge/build/tools/edgecore.service
for ip in ${NODEIP}; do scp /data/kubeedge/build/tools/edgecore.service $ip:/etc/systemd/system/; done
for ip in ${NODEIP}; do ssh $ip -t -t "systemctl daemon-reload && systemctl enable edgecore && systemctl start edgecore"; done
直接启动(便于调试)
nohup edgecore > /var/log/edgecore.log 2>&1 &		#启动edgecore

3.6.验证

3.6.1.在云端节点操作

kubectl get node

3.6.2.部署官方的 deployment

kubectl apply -f /opt/kubeedge/build/deployment.yaml
kubectl get pod

相关文章:

Linux部署kubeedge 1.4

文章目录 一、机器信息二、环境准备(所有节点操作)2.1. 修改主机名2.2. 开启路由转发2.3.安装Docker(所有节点)2.4.部署K8S集群(单机版,云端节点) 2.5.安装Mosquitto(只在边缘节点安装)三、安装kubeedge 1.…...

第一章习题

文章目录 x ( t ) j e j w 0 t x(t)je^{jw_0t} x(t)jejw0​t x [ n ] j e j w 0 n x[n]je^{jw_0n} x[n]jejw0​n 求基本周期: T 2 Π w 0 T\frac{2Π}{w_0} Tw0​2Π​ 对x[n],T为有理数才算 1、求信号x(t)2cos(10t1)-sin(4t-1)的基波周期 2 Π 10 Π 5 \frac{2…...

nvm、node、npm解决问题过程记录

在Windows10如何降级Node.js版本:可以尝试将Node.js版本降级到一个较旧的版本,以查看问题是否得以解决。可以使用Node Version Manager (nvm) 来轻松切换Node.js版本,具体完整步骤: 首先,需要安装Node Version Manager…...

Linux- DWARF调试文件格式

基本概念 DWARF是一个用于在可执行程序和其源代码之间进行关联的调试文件格式。当开发者使用调试编译选项(例如,使用gcc时的-g标志)编译程序时,编译器会生成这种格式的调试信息。这些信息在后续的调试过程中非常有用,…...

软件工程第六周

软件体系结构概述 体系结构:一种思想,而框架就是思想的实现,设计模式就是根据某一特殊问题实现的框架。 体系结构:体系结构是软件系统的高级结构。它定义了系统的主要组成部分,以及这些部分之间的关系和交互方式。 框…...

node+pm2安装部署

1、安装node 下载node安装包: wget https://nodejs.org/dist/v16.14.0/node-v16.14.0-linux-x64.tar.xz 解压: tar -xvJf node-v14.17.0-linux-x64.tar.xz 配置环境变量,在/etc/profile文件最后添加以下脚本: export PATH$P…...

大数据学习(11)-hive on mapreduce详解

&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博>主哦&#x…...

MyBatis基础之自动映射、映射类型、文件注解双配置

文章目录 自动映射原理jdbcType同时启用配置文件和注解两种配置方式 自动映射原理 在 MyBatis 的配置文件(settings 元素部分)中,有一个 autoMappingBehavior 配置,其默认值为 PARTIAL ,表示 MyBatis 会自动映射&…...

8、docker 安装 nginx

1、下载镜像 docker pull nginx 2、本机创建目录 1)创建nginx挂载目录 mkdir /usr/local/nginx 2)进入nginx目录 cd /usr/local/nginx 3)创建 www和logs目录 mkdir -p www logs 3、创建nginx容器 此容器用于复制配置文件,复…...

关于Skywalking Agent customize-enhance-trace对应用复杂参数类型取值

对于Skywalking Agent customize-enhance-trace 大家应该不陌生了,主要支持以非入侵的方式按用户自定义的Span跟踪对应的应用方法,并获取数据。 参考https://skywalking.apache.org/docs/skywalking-java/v9.0.0/en/setup/service-agent/java-agent/cust…...

手机路径、Windows路径知识及delphiXE跨设备APP自动下载和升级

手机路径、Windows路径知识 及delphiXE跨设备APP自动下载和升级 一、APP安装程序文件版本和权限信息 1、运行时动态调用Android apk的AndroidManifest.xml获取versionName 2、运行时动态调用IOS ipa的info.plist获取CFBundleVersion (和entitlements&#xff09…...

GitLab 502问题解决方案

由于最近 gitlab 切换到另一台服务器上部署的 gitlab 后,经常出现 502。平时重启 gitlab 后都能解决,今天突然重启多次后都还是 502(重启日志是正常的),遂通过 gitlab-ctl tail 查看日志进行排查。 gitlab-ctl tail通…...

selenium打开火狐浏览器

项目上需求为:甲方OA 系统是IE系统,需要从IE系统点个按钮打开火狐浏览器单点登录跳转到我们的系统 前期解决方案为:打开浏览器就行了,然后就用的是打开本地浏览器,但是由于B/S架构,有别人远程访问我的ip来…...

多标签分类论文笔记 | ML-Decoder: Scalable and Versatile Classification Head

个人论文精读笔记,主要是翻译心得,欢迎旁观,如果有兴趣可以在评论区留言,我们一起探讨。 Paper: https://arxiv.org/pdf/2111.12933.pdf Code: https://github.com/Alibaba-MIIL/ML_Decoder 文章目录 0. 摘要1. 介绍2. 方法2.1 Ba…...

修改http_charfinder.py使能在python311环境中运行

需要修改两个函数&#xff0c;第一个是init函数&#xff0c;修改如下&#xff1a; async def init(loop, address, port): # <1> # app web.Application(looploop) # <2> # app.router.add_route(GET, /, home) # <3> app web.Application(…...

蓝桥杯(跳跃 C++)

思路&#xff1a; 1、根据题目很容易知道可以用深度搜索、广度搜索、动态规划的思想解题。 2、这里利用深度搜素&#xff0c;由题目可知&#xff0c;可以往九个方向走。 3、这里的判断边界就是走到终点。 #include<iostream> using namespace std; int max1 0; int …...

08 | Jackson 注解在实体里面如何应用?常见的死循环问题如何解决?

我们用 Spring Boot 里面默认集成的 fasterxml.jackson 加以说明&#xff0c;这看似和 JPA 没什么关系&#xff0c;但是一旦我们和 Entity 一起使用的时候&#xff0c;就会遇到一些问题&#xff0c;特别是新手同学&#xff0c;我们这一课时详细介绍一下用法。先来跟着我了解一下…...

JavaScript—获取当前时间 并转化为yyyy-MM-dd hh:mm:ss格式

JavaScript—获取当前时间 并转化为yyyy-MM-dd hh:mm:ss格式 每次项目都需要用到时间戳格式,可以封装成一个方法 下次直接CV过去 const timestampPadStart=(str)=>{str=String(str);return str.padStart(2,0)...

OpenHarmony创新赛丨报名倒计时,超强秘籍带你直通大奖!

OpenHarmony创新赛报名倒计时开始啦&#xff01; 设于开放原子全球开源大赛下的OpenHarmony创新赛&#xff0c;目前正在如火如荼地进行赛事招募中&#xff01;这次大赛围绕创新应用、商显行业、金融行业三大赛题&#xff0c;邀请来自企业、个人、高校师生等各界群体的优秀开发者…...

Linux高性能服务器编程 学习笔记 第十四章 进程池和线程池

动态创建子进程或子线程的缺点&#xff1a; 1.动态创建进程或线程比较耗时&#xff0c;这将导致较慢的客户响应。 2.动态创建的子进程或子线程通常只用来为一个客户服务&#xff08;除非我们做特殊处理&#xff09;&#xff0c;这将导致系统上产生大量的进程或线程&#xff0c…...

微信小程序/vue3/uview-plus form兜底校验

效果图 代码 <template><u-form :model"form" ref"formRole" :rules"rules"><u-form-item prop"nickname"><u-input v-model"form.nickname" placeholder"姓名" border"none" /&…...

Photoshop 2024正式发布!内置最新PS AI,创意填充等功能无限制使用!

PS正式版目前更新到了2024&#xff0c;版本为25.0。 安装教程 1、下载得到安装包后&#xff0c;先解压。鼠标右键&#xff0c;【解压到当前文件夹】 2、双击 Set-up 开始安装 3、这里可以更改安装位置。如果C盘空间不够大&#xff0c;可以把它安装到C盘以外。更改好后&#x…...

芯片学习记录TLP184

TLP184 芯片介绍 TLP184是一款光耦隔离器&#xff0c;它的主要特点包括&#xff1a;高电压耐受能力、高传输速度、高共模隔离能力、低功耗等。它可以用于工业自动化、通信设备、家用电器等领域的电气隔离应用。由一个光电晶体管组成&#xff0c;光学耦合到两个红外发射二极管…...

C++ 重载运算符和重载函数

前言 C 允许在同一作用域中的某个函数和运算符指定多个定义&#xff0c;分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明&#xff0c;但是它们的参数列表和定义&#xff08;实现&#xff09;不相同。 当您调用一个…...

Linux:mongodb数据库基础操作(3.4版本)

安装 3.*版本和4.*版本安装都是一样的 Linux&#xff1a;mongodb数据库源码包安装&#xff08;4.4.25版本&#xff09;_鲍海超-GNUBHCkalitarro的博客-CSDN博客https://blog.csdn.net/w14768855/article/details/133826626?spm1001.2014.3001.5501 mysql和mongodb对比 登录…...

nginx实现灰度上线(InsCode AI 创作助手)

要基于Nginx实现灰度上线&#xff0c;有以下三种方法&#xff1a; 权重分发&#xff1a;使用Nginx的upstream模块来设置不同服务器的权重。将一部分请求分发给新版本服务器&#xff0c;另一部分请求分发给旧版本服务器。这可以通过以下方式实现&#xff1a; http {upstream bac…...

记:apifox 返回 invalid header token 的问题排查思路

背景&#xff1a; 某接口服务使用 springboot 2.x 开发&#xff0c; RestController 、ReqeustBody 在本地(localhost)调用的时候正常、chrome (.cn域名访问)浏览器访问正常。 换成 apifox (.cn域名访问)、postman (.cn域名访问)调用异常返回&#xff1a;invalid header t…...

【00】神经网络之初始化参数

问题描述 #随机初始化权重 w12 np.random.randn(100, 784)/np.sqrt(784) 为什么除以28 回答 这里的代码是初始化一个深度学习模型中的权重矩阵w12。权重矩阵的形状是(100, 784)&#xff0c;这是一个从784个输入节点到100个隐藏节点的全连接层。 除以np.sqrt(784)是权重初始…...

代码随想录Day20 回溯算法 LeetCode77 组合问题

以下内容更详细解释来自于:代码随想录 (programmercarl.com) 1.回溯算法理论基础 回溯法也叫回溯搜索法,是搜索法的一种,我们之前在二叉树中也经常使用到回溯来解决问题,其实有递归就有回溯,有的时候回溯隐藏在递归之下,我们不容易发觉,今天我们来详细介绍一下什么是回溯,它能…...

免费获取天气预报的API接口(Json格式)

免费获取天气预报的API接口&#xff08;Json格式&#xff09; 1、接口地址2、城市代码 1、接口地址 当需要获取某个城市天气数据json时候&#xff0c;需要传入一个城市代码编码作为入参&#xff0c;地址&#xff1a; http://t.weather.itboy.net/api/weather/city/xxxxx &…...

杭州网站制作公司/谷歌浏览器下载手机版

Android系统和iOS系统一直以来都是彼此最强大的竞争对手&#xff0c;对比起iOS系统来说&#xff0c;Android系统一直有一个无法忽视的缺点&#xff0c;就是系统的流畅度。不少用户表示自己的Android手机用了不到一年&#xff0c;就开始有卡顿和运行缓慢的问题。其实&#xff0c…...

网站后台编辑器不能用/今年疫情最新消息

站长之家(ChinaZ.com) 4月1日 消息&#xff1a;最近&#xff0c;一款名叫DeepL的在线机器翻译软件在日本大火。这款翻译软件的牛逼之处不仅是能准确地翻译日语、英语等多国语言&#xff0c;而且它还可以精准翻译方言、文言文甚至学术论文。经数据测试&#xff0c;DeepL不仅从字…...

做网站外包大学生/公众号营销

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2022-04-14 ❤️❤️ 本篇更新记录 2022-04-21 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...

怎么用ps做网站框架/成都门户网站建设

PAGEPAGE \* MERGEFORMAT18课 程 实 验 报 告课程名称&#xff1a; 计算机系统基础专业班级&#xff1a;学 号&#xff1a;姓 名&#xff1a;指导教师&#xff1a;报告日期&#xff1a; 2016年 5月 24 日计算机科学与技术学院目录TOC \o "1-3" \h \z \u HYPERLINK \l…...

杭州电子网站建设方案/百度浏览器打开

基本数据类型python的基本数据类型如下:1. int > 整数. 主要用来进行数学运算2. str > 字符串, 可以保存少量数据并进行相应的操作3. bool>判断真假, True, False4. list> 存储大量数据.用[ ]表示5. tuple> 元组, 不可以发生改变 用( )表示6. dict> 字典, 保…...

2018淘宝客网站开发/网络推广策划书

GAT是MTK在DDMS基础上进行二次开发封装的一个集多种debug功能为一体的工具&#xff0c;除 了包含原有DDMS的功能以外还支持kernel抓取&#xff0c;获取native进程列表&#xff0c;backtrace decode&#xff0c;提取手机端debug信息等功能&#xff1b;当MTKLogger出现异常时&am…...