关于kubernetes:kubeedge边缘节点安装

7次阅读

共计 3425 个字符,预计需要花费 9 分钟才能阅读完成。

先装置好 k8s,kubeedge 的 cloudcore 端

Linux 装置 kubeedge_亲测胜利

下载 keadm 工具

官网 github 下载 kubeedge 地址

留神: 下载对应的版本和架构

keadm-v1.6.1-linux-amd64.tar.gz

如果 github 拜访不了, 或者太慢, 能够给我留言或评论, 我发给大家

边缘节点执行退出 kubeedge 治理

–cloudcore-ipport=192.168.0.123:10000 cloudcore 端的 IP 和端口

–edgenode-name=testing123 边缘节点的名称, 不带此参数, 默认应用 hostname

–kubeedge-version=1.6.1 kubeedge 的版本, 会去下载指定版本的 kubeedge 包

–token 在 cloudcore 端应用命令获取:keadm gettoken

# 解压 keadm
tar -zxvf keadm-v1.6.1-linux-amd64.tar.gz

#退出 kubeedge
./keadm-v1.6.1-linux-amd64/keadm/keadm join --cloudcore-ipport=192.168.0.123:10000 --cgroupdriver=systemd --edgenode-name=testing123 --kubeedge-version=1.6.1 --token=3ccaxxxxxxxxxxxxx228136.eyJhbxxxxxxxxxxxxGcTB9.fFbUkVvK2GLxxxxxxxxxDYBuu5N7w

#须要在线装置 mosquitto mqtt 要一点工夫, 也能够手动提前去装置, 前期会解说
install MQTT service successfully.
#提醒装置 MQTT 胜利
#而后会去下载 kubeedge-v1.6.1-linux-amd64.tar.gz 包和 checksum 校验文件
#执行完后

#查看 mqtt 启动状况
ps aux|grep mosquitto

#查看 mqtt 版本
mosquitto -v

#查看 mqtt 是否开机启动
systemctl is-enabled mosquitto

#查看 edgecore 启动状况
ps aux|grep edgecore

#查看日志
journalctl -u edgecore.service -b 
journalctl -u edgecore.service -f

#edge 端创立的表相干日志
create table `device`
 -- --------------------------------------------------
 --  Table Structure for `github.com/kubeedge/kubeedge/edge/pkg/devicetwin/dtclient.Device`
 -- --------------------------------------------------
 CREATE TABLE IF NOT EXISTS `device` (`id` varchar(64) NOT NULL PRIMARY KEY,
 `name` text,
 `description` text,
 `state` text,
`last_online` text
 );
 create table `device_attr`
 -- --------------------------------------------------
 --  Table Structure for `github.com/kubeedge/kubeedge/edge/pkg/devicetwin/dtclient.DeviceAttr`
 -- --------------------------------------------------
 CREATE TABLE IF NOT EXISTS `device_attr` (
 `id` integer NOT NULL PRIMARY KEY AUTOINCREMENT,
 `deviceid` text,
 `name` text,
 `description` text,
 `value` text,
 `optional` bool,
 `attr_type` text,
 `metadata` text
 );
 create table `device_twin`
 -- --------------------------------------------------
 --  Table Structure for `github.com/kubeedge/kubeedge/edge/pkg/devicetwin/dtclient.DeviceTwin`
 -- --------------------------------------------------
 CREATE TABLE IF NOT EXISTS `device_twin` (
 `id` integer NOT NULL PRIMARY KEY AUTOINCREMENT,
 `deviceid` text,
 `name` text,
 `description` text,
 `expected` text,
 `actual` text,
 `expected_meta` text,
 `actual_meta` text,
 `expected_version` text,
 `actual_version` text,
 `optional` bool,
 `attr_type` text,
 `metadata` text
 );
 create table `meta`
 -- --------------------------------------------------
 --  Table Structure for `github.com/kubeedge/kubeedge/edge/pkg/metamanager/dao.Meta`
 -- --------------------------------------------------
 CREATE TABLE IF NOT EXISTS `meta` (`key` varchar(256) NOT NULL PRIMARY KEY,
 `type` varchar(32) NOT NULL DEFAULT '' ,
 `value` text
 );      

token 过期报错

# 报错,token 曾经过期了
testing123 edgecore[2023]: F0510 03:42:38.908203    2023 certmanager.go:91] Error: failed to get edge certificate from the cloudcore, error: Invalid authorization token

#重置 kubeedge
keadm reset --force

#从新获取最新 token, 而后从新 keadm join

sqlite3 数据库

edge 端应用 sqlite3 数据库

edge 端数据库文件在: /var/lib/kubeedge/

# 进入数据库
sqlite3 edgecore.db
.database
.table
select * from device;
.exit

配置 edgecore 开机自启动服务

# 查看 edgecore 是否开机启动
systemctl is-enabled edgecore

#如果没有设置则设置 开启自启动
如果没有设置则设置 开启自启动
vim /etc/systemd/system/edgecore.service 
[Unit]
Description=edgecore.service

[Service]
Type=simple
ExecStart=/usr/local/bin/edgecore
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

#增加文件权限并启动 edgecore
chmod +x /etc/systemd/system/edgecore.service 

#从新加载配置文件
systemctl daemon-reload 
  
#启动 edgecore      
systemctl start edgecore    

#设置开机自启
systemctl enable edgecore.service  

#查看 edgecore 开机启动状态 enabled: 开启, disabled: 敞开
systemctl is-enabled edgecore

#查看状态     
systemctl status edgecore  
正文完
 0