kubeedge 1.4 本地部署

kubeedge 1.4版本本地部署

相比于之前版本,1.4版本有较大变化,部署前尽量将旧版本数据清除。环境如下

角色ip负载
cloud amd64192.168.2.2k8s、cloudcore、docker
edge arm64192.168.2.3edgecore、docker

准备工作

# 关闭防火墙
systemctl disable firewalld
# 禁用SELinux
sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux
SELINUX=disabled
# 关闭交换分区
swapoff -a
# 安装docker,Cloud端安装k8s,Edge端安装mosquitto,此处省略

cloudcore部署

kubeadm config images list

k8s.gcr.io/kube-apiserver:v1.18.9
k8s.gcr.io/kube-controller-manager:v1.18.9
k8s.gcr.io/kube-scheduler:v1.18.9
k8s.gcr.io/kube-proxy:v1.18.9
k8s.gcr.io/pause:3.2
k8s.gcr.io/etcd:3.4.3-0
k8s.gcr.io/coredns:1.6.7

# 网络不佳或离线状态,将镜像提前拉取或通过docker load导入,加快速度

部署k8s

kubeadm init \
--apiserver-advertise-address=192.168.2.2 \
--kubernetes-version v1.18.8 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
--ignore-preflight-errors=Swap

部署网络插件

# 查看kube-flannel.yml中的镜像名,提前拉取,离线场景通过docker load提前导入
kubectl apply -f kube-flannel.yml

查看状态

kubectl get no
# master结点处于Ready状态

配置kubectl

rm -rf $HOME/.kube
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

配置cloudcore
下载并配置golang

wget https://golang.google.cn/dl/go1.14.4.linux-amd64.tar.gz
tar -zxvf go1.14.4.linux-amd64.tar.gz -C /usr/local
vim /etc/profile
# 末尾添加
export GOROOT=/usr/local/go
export GOPATH=/data/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/profile
mkdir -p /data/gopath && cd /data/gopath
mkdir -p src pkg bin

下载kubeedge源码

git clone https://gitee.com/mirrors/KubeEdge.git $GOPATH/src/github.com/kubeedge/kubeedge

添加device

cd $GOPATH/src/github.com/kubeedge/kubeedge/build/crds/devices
kubectl apply -f devices_v1alpha2_devicemodel.y
kubectl apply -f devices_v1alpha2_device.yaml

cd ../reliablesyncs/
kubectl apply -f cluster_objectsync_v1alpha1.yaml
kubectl apply -f objectsync_v1alpha1.yaml

编译(也可直接下载Release程序)

cd $GOPATH/src/github.com/kubeedge/kubeedge
make all WHAT=cloudcore && make all WHAT=edgecore GOARCH=arm64
cd _output/local/bin/
cp cloudcore /usr/local/bin
# 可通过其它方式拷贝
scp edgecore root@192.168.2.3:/usr/local/bin/

配置cloudcore

mkdir -p /etc/kubeedge/config && cd /etc/kubeedge/config
cloudcore --minconfig >cloudcore.yaml
# 清除已有的密钥
kubectl delete secret casecret -nkubeedge
kubectl delete secret cloudcoresecret -nkubeedge

vim cloudcore.yaml
# 将tlsCertFile和tlsPrivateKeyFile注释,并删除/etc/kubeedge/ca 和/etc/kubeedge/cert
# 我们采用自动注册结点的方式,在添加配置modules.edged.registerNode=true
# 修改kubeConfig=正确的路径
# 修改advertiseAddress为对外暴露的ip
# 修改 cloudcore.service
cd $GOPATH/src/github.com/kubeedge/kubeedge/build/tools
vim cloudcore.service
# 将cloudcore的路径修改为真实路径
cp cloudcore.service /lib/systemd/system/
systemctl enable cloudcore
systemctl start cloudcore
# 同理修改edgecore.service
scp edgecore.service root@192.168.2.3:/lib/systemd/system/

edgecloud部署

# 不要安装kubelet或将其关闭
edgecore --minconfig > /etc/kubeedge/config/edgecore.yaml
vim /etc/kubeedge/config/edgecore.yaml
# 注释modules.edgehub.tlsCaFile,modules.edgehub.tlsCertFile,modules.edgehub.tlsPrivateKeyFile
# 修改modules.edgehub.websocket.server和modules.edgehub.quic.server
# 修改modules.edgehub.httpServer

# cloud端操作
kubectl get secret tokensecret -n kubeedge -oyaml
# 将data.tokendata复制并进行转码
echo <data.tokendata> |base64 -d
# 将值填入edgecore.yaml的token处

# 提前导入镜像
# arm64
docker pull kubeedge/pause-arm64:3.1
# x86_64 or amd64
docker pull kubeedge/pause:3.1
# arm
docker pull kubeedge/pause-arm:3.1
systemctl enable edgecore
systemctl start edgecore

部署完成

# 在master结点查看
kubectl get no -o wide
# 均处于Ready状态

总结

keadm工具在离线状态和部分地区由于网络原因无法使用,因此采用离线部署方式,1.4版本的kubeedge与之前的版本有较大改动,在密钥认证上有不兼容的情况,此处将/etc/kubeedge/ca和/etc/kubeedge/cert全部删除,在配置文件中将对应的配置注释,可成功部署。

KubeEdge是一个开源的容器边缘计算平台,它将Kubernetes扩展到边缘设备,以满足边缘计算和边缘人工智能的需求。KubeEdge部署过程如下: 1. 安装Kubernetes:首先需要在边缘设备上安装Kubernetes集群,这可以通过使用minikubekubeadm等工具来简化。在安装过程中需要配置好Master节点和Worker节点。 2. 安装DockerKubeEdge使用Docker来运行容器,所以在部署之前要确保Docker已经安装并配置正确。可以通过官方文档提供的指南来安装和配置Docker。 3. 下载KubeEdge:在边缘设备上下载KubeEdge的二进制文件,并将其配置为PATH环境变量。 4. 配置Edge节点: 在边缘节点上创建一个名为Edge的节点,这个节点将运行KubeEdge组件。这可以通过在Kubernetes配置文件中添加相应的配置来实现。 5. 配置Cloud节点: 在云端运行一个名为Cloud的节点,用于管理和监控边缘设备上的工作负载。与Edge节点类似,需要在Kubernetes配置文件中添加相应的配置。 6. 部署和运行:部署Edge和Cloud节点后,可以通过使用kubectl命令来部署和运行应用程序,就像在传统的Kubernetes集群上一样。 总结来说,KubeEdge部署过程涉及安装KubernetesDocker,下载和配置KubeEdge的二进制文件,创建Edge和Cloud节点,并最后通过kubectl命令来部署和运行应用程序。通过这些步骤,我们可以在边缘设备上搭建一个具备边缘计算能力的Kubernetes集群。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值