Linux部署kubeedge 1.4

2023-10-11 23:36
文章标签 linux 部署 1.4 kubeedge

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删