1、准备工作

1.1 kubernetes集群和edge节点

需要先至少准备两台机器,一台master节点,一台edge节点。
为了方便验证,本此验证中master节点和edge节点的OS都是ubuntu 18.04。

1)先在master节点上安装kubernetes,可以只部署master
2)edge节点上安装docker
3)edge节点上安装mosquitto

kubernetes集群和docker的安装教程网上有很多,此处不再详述。

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

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

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

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

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

cd /home/bluejoy/kubeedge/deploy-v1.1.0
wget https://github.com/kubeedge/kubeedge/releases/download/v1.1.0/kubeedge-v1.1.0-linux-amd64.tar.gz
tar -xzvf kubeedge-v1.1.0-linux-amd64.tar.gz
mv kubeedge-v1.1.0-linux-amd64 kubeedge-v1.1.0
cp kubeedge/cloud/cloudcore /usr/local/bin/

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

2.1 kubeedge证书生成

cd /home/bluejoy/kubeedge/deploy-v1.1.0/kubeedge/build/tools/
bash certgen.sh genCertAndKey edge
tar -cvzf certs.tgz /etc/kubeedge/certs/

2.2 安装crds

kubectl create -f devices_v1alpha1_device.yaml
kubectl create -f devices_v1alpha1_devicemodel.yaml

2.3 修改配置文件:

mkdir /etc/kubeedge/cloudcore
cp -r /home/bluejoy/kubeedge/deploy-v1.1.0/kubeedge-v1.1.0/cloud/cloudcore/conf /etc/kubeedge/cloudcore/
export GOARCHAIUS_CONFIG_PATH=/etc/kubeedge/cloudcore
vim /etc/kubeedge/cloudcore/conf/controller.yaml

controller.yaml文件内容如下,主要修改两处地方:
1)master地址
2)kubeconfig文件所在的地址

controller:kube:master: "https://192.168.56.105:6443"    # kube-apiserver address (such as:http://localhost:8080)namespace: ""content_type: "application/vnd.kubernetes.protobuf"qps: 5burst: 10node_update_frequency: 10kubeconfig: "/root/.kube/config"   #Enter path to kubeconfig file to enable https connection to k8s apiserver, if master and kubeconfig are both set, master will override any value in kubeconfig.
cloudhub:protocol_websocket: true # enable websocket protocolport: 10000 # open port for websocket serverprotocol_quic: true # enable quic protocolquic_port: 10001 # open prot for quic servermax_incomingstreams: 10000 # the max incoming stream for quic serverenable_uds: true # enable unix domain socket protocoluds_address: unix:///var/lib/kubeedge/kubeedge.sock # unix domain socket addressaddress: 0.0.0.0ca: /etc/kubeedge/ca/rootCA.crtcert: /etc/kubeedge/certs/edge.crtkey: /etc/kubeedge/certs/edge.keykeepalive-interval: 30write-timeout: 30node-limit: 10
devicecontroller:kube:master: "https://192.168.56.105:6443"       # kube-apiserver address (such as:http://localhost:8080)namespace: ""content_type: "application/vnd.kubernetes.protobuf"qps: 5burst: 10kubeconfig: "/root/.kube/config" #Enter path to kubeconfig file to enable https connection to k8s apiserver,if master and kubeconfig are both set, master will override any value in kubeconfig.

2.4 启动cloudcore进程

cp /home/bluejoy/kubeedge/deploy-v1.1.0/kubeedge-v1.1.0/cloud/cloudcore/cloudcore /usr/local/bin/
cloudcore > /var/log/kubeedge/cloudcore.log

2.5、创建node

cd /home/bluejoy/kubeedge/deploy-v1.1.0/kubeedge/build/
vim node.json
{"kind": "Node","apiVersion": "v1","metadata": {"name": "bluejoy-jing","labels": {"name": "edge-node","node-role.kubernetes.io/edge": ""}}
}

执行下一步命令之前,请先修改node.json文件中的metadata.name的值为edge节点的hostname

# kubectl apply -f node.json

3、kubeedge边端部分配置

3.1 安装Mosquitto

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.1.0/kubeedge-v1.1.0 root@192.168.56.111:/etc/kubeedge/

3.4 修改edgecore的配置文件(edge节点)

vim /etc/kubeedge/kubeedge-v1.1.0/edge/conf/edge.yaml

根据自己的情况,修改以下部分的内容:
1)edgehub.websocket.url中的IP地址和edge节点的主机名称
2)edgehub.controller.node-id的值为edge节点的主机名称
3)edged.hostname-override的值为edge节点的主机名称
4)edged.interface-name的值根据edge节点的网络接口的名称进行修改,我的是enp0s8
5)edged.cgroup-driver根据edged节点上的实际值进行修改(可以通过docker info命令查看具体的值)

mqtt:server: tcp://127.0.0.1:1883 # external mqtt broker url.internal-server: tcp://127.0.0.1:1884 # internal mqtt broker url.mode: 0 # 0: internal mqtt broker enable only. 1: internal and external mqtt broker enable. 2: external mqtt broker enable only.qos: 0 # 0: QOSAtMostOnce, 1: QOSAtLeastOnce, 2: QOSExactlyOnce.retain: false # if the flag set true, server will store the message and can be delivered to future subscribers.session-queue-size: 100 # A size of how many sessions will be handled. default to 100.edgehub:websocket:url: wss://192.168.56.105:10000/e632aba927ea4ac2b575ec1603d56f10/bluejoy-Jing/eventscertfile: /etc/kubeedge/certs/edge.crtkeyfile: /etc/kubeedge/certs/edge.keyhandshake-timeout: 30 #secondwrite-deadline: 15 # secondread-deadline: 15 # secondquic:url: 127.0.0.1:10001cafile: /etc/kubeedge/ca/rootCA.crtcertfile: /etc/kubeedge/certs/edge.crtkeyfile: /etc/kubeedge/certs/edge.keyhandshake-timeout: 30 #secondwrite-deadline: 15 # secondread-deadline: 15 # secondcontroller:protocol: websocket # websocket, quicheartbeat: 15  # secondproject-id: e632aba927ea4ac2b575ec1603d56f10node-id: bluejoy-Jingedged:register-node-namespace: defaulthostname-override: bluejoy-Jinginterface-name: enp0s8edged-memory-capacity-bytes: 7852396000node-status-update-frequency: 10 # seconddevice-plugin-enabled: falsegpu-plugin-enabled: falseimage-gc-high-threshold: 80 # percentimage-gc-low-threshold: 40 # percentmaximum-dead-containers-per-container: 1docker-address: unix:///var/run/docker.sockruntime-type: dockerremote-runtime-endpoint: unix:///var/run/dockershim.sockremote-image-endpoint: unix:///var/run/dockershim.sockruntime-request-timeout: 2podsandbox-image: kubeedge/pause:3.1 # kubeedge/pause:3.1 for x86 arch , kubeedge/pause-arm:3.1 for arm arch, kubeedge/pause-arm64 for arm64 archimage-pull-progress-deadline: 60 # secondcgroup-driver: cgroupfsnode-ip: ""cluster-dns: ""cluster-domain: ""mesh:loadbalance:strategy-name: RoundRobin

3.5 启动edgecore进程 (dege节点)

export GOARCHAIUS_CONFIG_PATH=/etc/kubeedge/kubeedge-v1.1.0/edge
cp /etc/kubeedge/kubeedge-v1.1.0/edge/edgecore /usr/local/bin
edgecore > /var/log/kubeedge/edgecore.log

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

4.1 查看edge节点是否ready

4.2 部署一个deployment进行验证

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

4.3 删除deployment

kubectl delete -f /home/bluejoy/kubeedge/deploy-v1.1.0/kubeedge/build/deployment.yaml

kubeedge v1.1.0部署指南相关推荐

  1. KubeEdge 1.3.0 部署

    本文介绍了如何在两台 ubuntu 16.04 64 bit 双核 CPU 虚拟机上从源码开始部署 KubeEdge 1.3.0 集群的过程,云端 Kubernetes 版本为 1.17.3,Gola ...

  2. KubeEdge 1.2.0 部署

    本文介绍了如何在两台 ubuntu 16.04 64 bit 双核 CPU 虚拟机上从源码开始部署 KubeEdge 1.2.0 集群的过程,云端 Kubernetes 版本为 1.17.3,Gola ...

  3. Kubeedge 1.5 部署指南

    Kubeedge 1.5 部署指南 本文介绍了如何在一台ubuntu18.04和一台装有ubuntu20.04的树莓派4B上部署kubeedge1.5的过程. 其中ubuntu作为cloud节点,树莓 ...

  4. Spark编程指南V1.4.0(翻译)

    Spark编程指南V1.4.0 ·        简介 ·        接入Spark ·        Spark初始化 ·        使用Shell ·        在集群上部署代码 ·  ...

  5. Elasticsearch 5.0 —— Head插件部署指南

    使用ES的基本都会使用过head,但是版本升级到5.0后,head插件就不好使了.下面就看看如何在5.0中启动Head插件吧! 官方粗略教程 Running with built in server ...

  6. VMware-vRealize-Log-Insight-8.2.0.0安装部署指南

    VMware-vRealize-Log-Insight-8.2.0.0安装部署指南 https://blog.csdn.net/u011775882/article/details/110928142 ...

  7. 多节点OpenStack Charms 部署指南0.0.1.dev--41--配置openstack-base-73作为juju管理的openstack云

    参考文档: OpenStack Using OpenStack with Juju Add credentials Cloud image metadata Cloud image metadata ...

  8. 逃脱只会部署集群系列 —— Kubeadm部署v1.18.0与ETCD操作

    目录 一.Kubeadm部署K8s1.18.0版本 1. 安装要求 2.环境准备 3. docker安装[所有节点都需要安装] 4.docker配置cgroup驱动[所有节点] 5.镜像加速[所有节点 ...

  9. 多节点OpenStack Charms 部署指南0.0.1.dev303--21--控制器备份和还原

    目录: 第一节 多节点OpenStack Charms 部署指南0.0.1.dev223–1--OpenStack Charms 部署指南 第二节 多节点OpenStack Charms 部署指南0. ...

  10. 金蝶KIS 11.0专业版系统部署指南

    金蝶KIS 11.0专业版系统部署指南,Step by step-- 请注意:服务器最好在32位系统上部署,64位系统会有一堆莫名其妙的问题! 1.点击安装包内的KISSetup.exe程序,执行安装 ...

最新文章

  1. SAP QM QP02 没有ECO试图直接修改检验计划主数据?
  2. SQL*Loader之CASE8
  3. C++ vector中的resize,reserve,size和capacity函数讲解
  4. 仿VS窗体效果+outlookbar效果
  5. Win7旗舰版电脑开机慢的解决方法
  6. python自动保存ping结果_利用python获取Ping结果示例代码
  7. 【转载】COM 组件设计与应用(二)——GUID 和 接口
  8. VS2008中C++打开Excel(MFC)
  9. java - What is a fat JAR? - Stack Overflow
  10. java redis源码分析,慢谈 Redis 实现分布式锁 以及 Redisson 源码解析
  11. android 比较全的android 源码合集 + 企业级应用分享,从业的积累(加强版)
  12. delphi 远程mysql_Delphi远程连接Mysql的实现方法
  13. ARCore从零到一 (2) 运行HelloAR 案例
  14. 为什么模板不支持分离编译
  15. 关于Win11家庭版安装Ansys2021R1遇到的问题
  16. 关于微信小程序中的.eslintrc.js
  17. html字体大小vw,如何使用CSS vw尺寸单位实现响应式字体
  18. java.lang.NoClassDefFoundError: org/jdom2/Content
  19. 简单介绍一下web开发中用到的一些技术
  20. 学习 Python 之 Pygame 开发魂斗罗(九)

热门文章

  1. 未来教育计算机上机题库,未来教育版计算机二级C语言上机题库(含答案)
  2. 乡镇政府网络智能办公系统(乡镇OA)应用【乡镇信息化经验】
  3. linux返回上一步命令
  4. 使用Clustal进行多序列比对
  5. linux下如何统计一个目录下的文件个数以及代码总行数的命令
  6. BeanUtils.copyProperties()复制对象时改变属性类型
  7. deep-text-recognition-benchmark 项目训练data.mdb数据集,运行日志中,只显示训练了英文和数字
  8. (20200420已解决)InfluxDB时间显示格式
  9. 从0到1:如何创建YouTube频道(手把手设置指南)
  10. 【WiFi】WiFi信道(2.4G、5G及5G DFS)及国家码和电话代码和时区对应表