kubeedge v1.17.0部署教程

2024-06-06 02:28
文章标签 部署 教程 kubeedge v1.17

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

文章目录

  • 前言
  • 一、安装k8s平台
  • 二、部署kubeedge
    • 1.部署MetalLB(可选)
    • 2.cloud
    • 3.edge
    • 4. 部署nginx到edge端
  • 总结
  • 参考


前言

本文主要介绍kubeedge v1.17.0的安装过程

主要环境如下表

应用版本
centos7.0
k8s1.28.2
kubeedge1.17.0
docker24.0.8
centos7.0

一、安装k8s平台

本文主要参考
centos7 部署k8s 1.28.2
K8s集群搭建教程

根据上面的过程部署好k8s平台
注意 k8s版本不一样 部署的要求不一样
如:k8s 1.24以后版本需要装cri-docker等工具
docker安装需要配置阿里云容器镜像加速服务

二、部署kubeedge

1.部署MetalLB(可选)

是支持LoadBalancer的负载均衡器,能够帮助我们映射一个ip地址,直接访问pod的服务

  1. 修改kube-proxy
    将对应的位置修改为如图所示的
kubectl edit configmap -n kube-system kube-proxy

在这里插入图片描述

  1. k8s部署MetalLB
    这里部署的版本为0.13.5
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.5/config/manifests/metallb-native.yaml
  1. 配置MetalLB
    新建两个文件
# advertise.yaml
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:name: l2advernamespace: metallb-system
spec:ipAddressPools: # 如果不配置则会通告所有的IP池地址- ip-pool
# ip-pool.yaml
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:name: ip-poolnamespace: metallb-system
spec:addresses:- 192.168.184.120-192.168.184.140 # 根据虚拟机的ip地址来配置 这些ip地址可以分配给k8s中的服务
kubectl apply -f advertise.yaml
kubectl apply -f ip-pool.yaml

2.cloud

  1. 下载keadm
    进入github搜索kubeedge,下载对应版本
    1.17.0下载地址
    根据需要部署的平台下载对应的版本
    在这里插入图片描述
  2. 解压keadm 并 移动到 /usr/local/bin下 (移动到这个目录下可以再任何目录下执行keadm命令)
tar -zxvf keadm-v1.17.0-linux-amd64.tar.gz
mv  keadm-v1.17.0-linux-amd64/keadm/keadm /usr/local/bin 
  1. 初始化cloudcore
# 192.168.184.120 ip-pool中没有被分配的ip地址
keadm init --advertise-address=192.168.184.120 --set iptablesHanager.mode="external"

执行成功结果
在这里插入图片描述

  1. 修改cloudcore的svc
    修改服务的暴露方式,让外部可以连接
    也可以使用NodePort,但是在初始化edgecore时就需要修改对应的ip映射了,上面初始化advertise-address也需要修改
kubectl edit svc cloudcore -n kubeedge 

在这里插入图片描述
在这里插入图片描述
5. 打标签

因为边缘计算的硬件条件都不好,这里我们需要打上标签,让一些应用不扩展到edge节点上去

这里有三个应用需要打 kube-system kube-flannel metallb-system
将下面命令中的两个位置替换即可

kubectl get daemonset -n kube-system |grep -v NAME |awk '{print $1}' | xargs -n 1 kubectl patch daemonset -n kube-system --type='json' -p='[{"op": "replace","path": "/spec/template/spec/affinity","value":{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"node-role.kubernetes.io/edge","operator":"DoesNotExist"}]}]}}}}]'

3.edge

  1. cloud获取token
keadm gettoken
  1. edge端加入
    设置token和server方便输入命令
    在这里插入图片描述
echo $SERVER   # 可以查看对应的
#加入到cloudcore中
keadm join --remote-runtime-endpoint=unix:///var/run/cri-dockerd.sock --cloudcore-ipport=$SERVER --token=$TOKEN --kubeedge-version=1.17.0 --with-mqtt

成功截图如下
在这里插入图片描述
在这里插入图片描述
注意
在这里插入图片描述

  1. docker和cri-docker的安装

  2. cni网络插件一定要记得安装
    在这里插入图片描述
    下载该文件,上传

source install.sh  # 将脚本文件放入环境
install_cni_plugins # 执行安装cni命令

如果下载速度慢,可以在有条件的情况下载好
注释掉 wget
在这里插入图片描述
再上传 后执行该方法即可

建议: 这个子网范围 我觉得应该改成k8s再 init 设置的子网范围
在这里插入图片描述

4. 部署nginx到edge端

nginx部署的yaml文件
vi nginx-deployment.yaml

#nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-metallb
spec:replicas: 1 selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:nodeName: k8s-edge  # 边缘端的名字 kubectl get node里面的containers:- name: nginximage: nginx:latestports:- containerPort: 80---
apiVersion: v1
kind: Service
metadata:name: nginx-service
spec:selector:app: nginxports:- name: http port: 80targetPort: 80type: LoadBalancer

在这里插入图片描述


总结

kubeedge 不同版本的部署方法会有不同的地方,k8s也是有需要注意的地方
看官方文档一定要仔细,我edge端没有安装cni网络插件,导致一直无法成功连接
之前看得文档和视频对应的版本都比较老了,edge端不需要安装cni插件也可直接连接成功

参考

centos7 部署k8s 1.28.2
K8s集群搭建教程
kubeedge部署 写的挺详细的
kubeedge v1.17官方文档 官方文档一定要看仔细!!!
b站 kubeedge部署教程

这篇关于kubeedge v1.17.0部署教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

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

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

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

在 Windows 上部署 gitblit

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

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

Solr部署如何启动

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

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖: