kubeedge v1.2.0部署指南

1、准备工作

1.1 kubernetes集群和edge节点

1)需要先安装一个kubernetes集群
2)准备一个edge节点,安装docker
kubernetes集群和docker的安装教程网上有很多,此处不再详述。

1.2 创建安装目录(master节点)

mkdir -p /home/bluejoy/kubeedge/deploy-v1.2.0

1.3 下载kubeedge v1.2.0源码(master节点)

cd /home/bluejoy/kubeedge/deploy-v1.2.0
git clone https://github.com/kubeedge/kubeedge.git
cd kubeedge
git checkout v1.2.0

1.4 下载 kubeedge 1.2.0 版本二进制包(master节点)

cd /home/bluejoy/kubeedge/deploy-v1.2.0
wget https://github.com/kubeedge/kubeedge/releases/download/v1.2.0/kubeedge-v1.2.0-linux-amd64.tar.gz
tar -xzvf kubeedge-v1.2.0-linux-amd64.tar.gz
mv kubeedge-v1.2.0-linux-amd64 kubeedge-v1.2.0

2、kubeedge云端部分配置 (master节点)

2.1 kubeedge证书生成

cd /home/bluejoy/kubeedge/deploy-v1.2.0/kubeedge/build/tools/
bash certgen.sh genCertAndKey edge

2.2 安装crds

cd /home/bluejoy/kubeedge/deploy-v1.2.0/kubeedge/build/crds/devices
kubectl create -f devices_v1alpha1_devicemodel.yaml
kubectl create -f devices_v1alpha1_device.yaml

cd /home/bluejoy/kubeedge/deploy-v1.2.0/kubeedge/build/crds/reliablesyncs
kubectl create -f cluster_objectsync_v1alpha1.yaml
kubectl create -f objectsync_v1alpha1.yaml

2.3 配置云端节点

v1.2.0版本的配置文件是由 cloudcore 程序通过执行以下命令生成的:

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

修改配置文件:

vim /etc/kubeedge/config/cloudcore.yaml 
# With --minconfig , you can easily used this configurations as reference.
# It's useful to users who are new to KubeEdge, and you can modify/create your own configs accordingly. 
# This configuration is suitable for beginners.

apiVersion: cloudcore.config.kubeedge.io/v1alpha1
kind: CloudCore
kubeAPIConfig:
  kubeConfig: /root/.kube/config
  master: "https://192.168.56.105:6443"
modules:
  cloudhub:
    nodeLimit: 10
    tlsCAFile: /etc/kubeedge/ca/rootCA.crt
    tlsCertFile: /etc/kubeedge/certs/edge.crt
    tlsPrivateKeyFile: /etc/kubeedge/certs/edge.key
    unixsocket:
      address: unix:///var/lib/kubeedge/kubeedge.sock
      enable: true
    websocket:
      address: 0.0.0.0
      enable: true
      port: 10000

注意根据你的环境修改以下两处地方。
1)kubeConfig的值
2)master的值

2.4 拷贝二进制程序到/usr/local/bin目录

cp kubeedge/cloud/cloudcore /usr/local/bin/

3、kubeedge边端部分配置

3.1 安装Mosquitto(edge节点)

1)添加 apt-get 源:

add-apt-repository ppa:mosquitto-dev/mosquitto-ppa
apt-get update

2)安装:

apt-get install mosquitto

3.2 拷贝证书(master节点)

scp -r /etc/kubeedge/certs root@192.168.56.111:/etc/kubeedge/

3.3 拷贝二进制程序(master节点)

scp -r /home/bluejoy/kubeedge/deploy-v1.2.0/kubeedge-v1.2.0 root@192.168.56.111:/home/bluejoy/kubeedge/deploy-v1.2.0/bin

3.4 拷贝二进制程序到/usr/local/bin目录(edge节点)

cp /home/bluejoy/kubeedge/deploy-v1.2.0/bin/edgecore /usr/local/bin/

3.5 配置边缘节点(edge节点)

v1.2.0版本的配置文件由 edgecore 程序通过执行以下命令生成的:

edgecore --minconfig > /etc/kubeedge/config/edgecore.yaml

修改配置文件:

vim /etc/kubeedge/config/edgecore.yaml
# With --minconfig , you can easily used this configurations as reference.
# It's useful to users who are new to KubeEdge, and you can modify/create your own configs accordingly. 
# This configuration is suitable for beginners.

apiVersion: edgecore.config.kubeedge.io/v1alpha1
database:
  dataSource: /var/lib/kubeedge/edgecore.db
kind: EdgeCore
modules:
  edged:
    cgroupDriver: cgroupfs
    clusterDNS: ""
    clusterDomain: ""
    devicePluginEnabled: false
    dockerAddress: unix:///var/run/docker.sock
    gpuPluginEnabled: false
    hostnameOverride: bluejoy-jing
    interfaceName: enp0s8
    nodeIP: 192.168.56.111
    podSandboxImage: kubeedge/pause:3.1
    remoteImageEndpoint: unix:///var/run/dockershim.sock
    remoteRuntimeEndpoint: unix:///var/run/dockershim.sock
    runtimeType: docker
  edgehub:
    heartbeat: 15
    tlsCaFile: /etc/kubeedge/ca/rootCA.crt
    tlsCertFile: /etc/kubeedge/certs/edge.crt
    tlsPrivateKeyFile: /etc/kubeedge/certs/edge.key
    websocket:
      enable: true
      handshakeTimeout: 30
      readDeadline: 15
      server: 192.168.56.105:10000
      writeDeadline: 15
  eventbus:
    mqttMode: 2
    mqttQOS: 0
    mqttRetain: false
    mqttServerExternal: tcp://127.0.0.1:1883
    mqttServerInternal: tcp://127.0.0.1:1884

注意修改以下几处地方。
1)修改modules.edgehub.websocket下的server,默认为127.0.0.1:10000,需改为实际云端IP地址,此处为192.168.56.105:10000。
2)podSandboxImage,X86平台为podSandboxImage: kubeedge/pause:3.1,ARM 平台根据位数不同,可设为kubeedge/pause-arm:3.1或ubeedge/pause-arm64:3.1。
3)cgroup 驱动默认值为:cgroupDriver: cgroupfs(是否需要修改,需要查看docker info命令,获取自己节点上的值)。
4)网络设备接口名称interfaceName及IP地址nodeIP,在运行上述配置文件生成命令时会自动检测获取,一般无须修改(但是我的虚拟机有两块网卡,所以需要修改)。
5)hostnameOverride需要修改为edge节点的主机名称。

4、运行kubeedge

4.1 云端部分(master节点)

cloudcore > /var/log/kubeedge/cloudcore.log 2>&1

4.2 边缘端部分(edge节点)

edgecore > /var/log/kubeedge/edgecore.log 2>&1

5、验证部署结果(master节点)

5.1 查看edge节点是否ready

在这里插入图片描述
5.2 部署一个deployment进行验证

cd /home/bluejoy/kubeedge/deploy-v1.2.0/kubeedge/build/
kubectl apply -f deployment.yaml

查看pod的部署结果:
在这里插入图片描述
5.3 删除deployment

cd /home/bluejoy/kubeedge/deploy-v1.2.0/kubeedge/build/
kubectl delete -f deployment.yaml
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值