kubeedge v1.1.0部署指南
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部署指南相关推荐
- KubeEdge 1.3.0 部署
本文介绍了如何在两台 ubuntu 16.04 64 bit 双核 CPU 虚拟机上从源码开始部署 KubeEdge 1.3.0 集群的过程,云端 Kubernetes 版本为 1.17.3,Gola ...
- KubeEdge 1.2.0 部署
本文介绍了如何在两台 ubuntu 16.04 64 bit 双核 CPU 虚拟机上从源码开始部署 KubeEdge 1.2.0 集群的过程,云端 Kubernetes 版本为 1.17.3,Gola ...
- Kubeedge 1.5 部署指南
Kubeedge 1.5 部署指南 本文介绍了如何在一台ubuntu18.04和一台装有ubuntu20.04的树莓派4B上部署kubeedge1.5的过程. 其中ubuntu作为cloud节点,树莓 ...
- Spark编程指南V1.4.0(翻译)
Spark编程指南V1.4.0 · 简介 · 接入Spark · Spark初始化 · 使用Shell · 在集群上部署代码 · ...
- Elasticsearch 5.0 —— Head插件部署指南
使用ES的基本都会使用过head,但是版本升级到5.0后,head插件就不好使了.下面就看看如何在5.0中启动Head插件吧! 官方粗略教程 Running with built in server ...
- VMware-vRealize-Log-Insight-8.2.0.0安装部署指南
VMware-vRealize-Log-Insight-8.2.0.0安装部署指南 https://blog.csdn.net/u011775882/article/details/110928142 ...
- 多节点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 ...
- 逃脱只会部署集群系列 —— Kubeadm部署v1.18.0与ETCD操作
目录 一.Kubeadm部署K8s1.18.0版本 1. 安装要求 2.环境准备 3. docker安装[所有节点都需要安装] 4.docker配置cgroup驱动[所有节点] 5.镜像加速[所有节点 ...
- 多节点OpenStack Charms 部署指南0.0.1.dev303--21--控制器备份和还原
目录: 第一节 多节点OpenStack Charms 部署指南0.0.1.dev223–1--OpenStack Charms 部署指南 第二节 多节点OpenStack Charms 部署指南0. ...
- 金蝶KIS 11.0专业版系统部署指南
金蝶KIS 11.0专业版系统部署指南,Step by step-- 请注意:服务器最好在32位系统上部署,64位系统会有一堆莫名其妙的问题! 1.点击安装包内的KISSetup.exe程序,执行安装 ...
最新文章
- SAP QM QP02 没有ECO试图直接修改检验计划主数据?
- SQL*Loader之CASE8
- C++ vector中的resize,reserve,size和capacity函数讲解
- 仿VS窗体效果+outlookbar效果
- Win7旗舰版电脑开机慢的解决方法
- python自动保存ping结果_利用python获取Ping结果示例代码
- 【转载】COM 组件设计与应用(二)——GUID 和 接口
- VS2008中C++打开Excel(MFC)
- java - What is a fat JAR? - Stack Overflow
- java redis源码分析,慢谈 Redis 实现分布式锁 以及 Redisson 源码解析
- android 比较全的android 源码合集 + 企业级应用分享,从业的积累(加强版)
- delphi 远程mysql_Delphi远程连接Mysql的实现方法
- ARCore从零到一 (2) 运行HelloAR 案例
- 为什么模板不支持分离编译
- 关于Win11家庭版安装Ansys2021R1遇到的问题
- 关于微信小程序中的.eslintrc.js
- html字体大小vw,如何使用CSS vw尺寸单位实现响应式字体
- java.lang.NoClassDefFoundError: org/jdom2/Content
- 简单介绍一下web开发中用到的一些技术
- 学习 Python 之 Pygame 开发魂斗罗(九)
热门文章
- 未来教育计算机上机题库,未来教育版计算机二级C语言上机题库(含答案)
- 乡镇政府网络智能办公系统(乡镇OA)应用【乡镇信息化经验】
- linux返回上一步命令
- 使用Clustal进行多序列比对
- linux下如何统计一个目录下的文件个数以及代码总行数的命令
- BeanUtils.copyProperties()复制对象时改变属性类型
- deep-text-recognition-benchmark 项目训练data.mdb数据集,运行日志中,只显示训练了英文和数字
- (20200420已解决)InfluxDB时间显示格式
- 从0到1:如何创建YouTube频道(手把手设置指南)
- 【WiFi】WiFi信道(2.4G、5G及5G DFS)及国家码和电话代码和时区对应表