码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux部署kubeedge 1.4


    文章目录

    • 一、机器信息
    • 二、环境准备(所有节点操作)
      • `2.1. 修改主机名`
      • `2.2. 开启路由转发`
      • `2.3.安装Docker(所有节点)`
      • `2.4.部署K8S集群(单机版,云端节点)`
    • `2.5.安装Mosquitto(只在边缘节点安装)`
    • 三、安装kubeedge 1.4
      • `3.1.配置Golang 环境(版本1.14.7)`
      • `3.2. 源码编译`
        • 编译云端
        • 编译边缘端
      • `3.3.创建设备模型和设备CRD`
      • `3.4.配置云端节点`
        • 3.4.1 通过systemd管理(推荐)
        • 3.4.2直接启动(便于调试)
      • `3.5.配置边缘端节点`
        • 3.5.1.云端节点操作
        • 3.5.2.边缘节点操作
        • 生成边缘节点的edgecore.yaml文件(cloud端操作)
        • 3.5.4.在边缘节点创建目录,传递edgecore.yaml文件
        • 修改edgecore.yaml文件(所有边缘节点)
        • 3.5.6.启动edgecore
          • 通过systemd管理(推荐)
          • 直接启动(便于调试)
      • `3.6.验证`
        • 3.6.1.在云端节点操作
        • 3.6.2.部署官方的 deployment


    官方文档:https://docs.kubeedge.io/en/latest/
    参考视频:https://www.bilibili.com/video/BV1LJ411D7t1?p=3
    参考文章:https://blog.csdn.net/subfate/article/details/106463852

    一、机器信息

    我这共两台机器,192.168.1.10部署Master和cloudcore,192.168.1.11部署edgecore

    二、环境准备(所有节点操作)

    2.1. 修改主机名

    根据IP地址修改,如hostnamectl set-hostname 192-168-1-10
    
    • 1

    2.2. 开启路由转发

    sed -i 's/net.ipv4.ip_forward=.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf
    sysctl -p
    
    • 1
    • 2

    2.3.安装Docker(所有节点)

    2.4.部署K8S集群(单机版,云端节点)

    kubeadm部署K8s集群V1.19.0

    注意:只需要部署Master相关组件

    2.5.安装Mosquitto(只在边缘节点安装)

    mosquitto镜像制作参考文章:https://anqixiang.blog.csdn.net/article/details/110451206

    docker run -itd --restart always --name mosquitto -p 1883:1883 mosquitto:v1.0
    
    • 1

    三、安装kubeedge 1.4

    3.1.配置Golang 环境(版本1.14.7)

    tar xvf go1.14.7.linux-amd64.tar.gz -C /usr/local/bin/
    
    • 1

    vi /etc/profile #添加如下几行

    #GO
    export GO_HOME=/usr/local/bin/go
    export PATH=$GO_HOME/bin:$PATH
    
    • 1
    • 2
    • 3

    source /etc/profile
    go version

    3.2. 源码编译

    git config --global http.sslVerify false        #跳过SSL验证
    cd /opt
    git clone https://github.com/kubeedge/kubeedge.git
    yum install gcc make -y
    
    • 1
    • 2
    • 3
    • 4

    编译云端

    cd /opt/kubeedge
    make all WHAT=cloudcore
    
    • 1
    • 2

    编译边缘端

    make all WHAT=edgecore
    
    • 1

    生成的二进制位于_output/local/bin/目录下,把生成的二进制文件拷贝到/usr/local/bin/下

    3.3.创建设备模型和设备CRD

    cd /opt/kubeedge/build/crds/devices
    kubectl create -f devices_v1alpha2_devicemodel.yaml
    kubectl create -f devices_v1alpha2_device.yaml
    cd /opt/kubeedge/build/crds/reliablesyncs
    kubectl create -f cluster_objectsync_v1alpha1.yaml
    kubectl create -f objectsync_v1alpha1.yaml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3.4.配置云端节点

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

    cloudcore.yaml文件内容
    在这里插入图片描述

    3.4.1 通过systemd管理(推荐)

    cp /data/kubeedge/build/tools/cloudcore.service /etc/systemd/system/cloudcore.service
    vi /etc/systemd/system/cloudcore.service
    
    • 1
    • 2

    修改启动命令为/usr/local/bin/cloudcore
    在这里插入图片描述

    systemctl daemon-reload
    systemctl enable cloudcore
    systemctl start cloudcore
    journalctl -u cloudcore -f        #查看日志
    
    • 1
    • 2
    • 3
    • 4

    3.4.2直接启动(便于调试)

    nohup ./cloudcore > cloudcore.log 2>&1 & #启动cloudcore

    3.5.配置边缘端节点

    3.5.1.云端节点操作

    scp /usr/local/bin/edgecore 192.168.1.11:/usr/local/bin/
    scp /data/images/pause.tar 192.168.1.11:/data/
    
    • 1
    • 2

    3.5.2.边缘节点操作

    docker load -i /data/pause.tar
    docker tag swr.cn-south-1.myhuaweicloud.com/anqixiang_k8s/pause:3.1 kubeedge/pause:3.1
    mkdir -p /etc/kubeedge/{ca,certs,config}
    
    • 1
    • 2
    • 3

    生成边缘节点的edgecore.yaml文件(cloud端操作)

    edgecore --minconfig > /etc/kubeedge/config/edgecore.yaml
    sed -i 's|podSandboxImage: .*|podSandboxImage: kubeedge/pause:3.1|' /etc/kubeedge/config/edgecore.yaml
    #修改token
    token=$(kubectl get secret -nkubeedge tokensecret -o=jsonpath='{.data.tokendata}' | base64 -d)
    sed -i  "s|token: .*|token: ${token}|g" /etc/kubeedge/config/edgecore.yaml
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.5.4.在边缘节点创建目录,传递edgecore.yaml文件

    ssh 192.168.1.11 -t -t "mkdir -p /etc/kubeedge/{ca,certs,config}"
    scp /etc/kubeedge/config/edgecore.yaml 192.168.1.11:/etc/kubeedge/config/
    
    • 1
    • 2

    修改edgecore.yaml文件(所有边缘节点)

    vi /etc/kubeedge/config/edgecore.yaml

    hostnameOverride为当前节点的主机名
    nodeIP为当前节点的物理IP地址
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述

    3.5.6.启动edgecore

    通过systemd管理(推荐)

    在云端节点操作

    vi /data/kubeedge/build/tools/edgecore.service
    
    • 1
    for ip in ${NODEIP}; do scp /data/kubeedge/build/tools/edgecore.service $ip:/etc/systemd/system/; done
    for ip in ${NODEIP}; do ssh $ip -t -t "systemctl daemon-reload && systemctl enable edgecore && systemctl start edgecore"; done
    
    • 1
    • 2
    直接启动(便于调试)
    nohup edgecore > /var/log/edgecore.log 2>&1 &		#启动edgecore
    
    • 1

    3.6.验证

    3.6.1.在云端节点操作

    kubectl get node
    
    • 1

    3.6.2.部署官方的 deployment

    kubectl apply -f /opt/kubeedge/build/deployment.yaml
    kubectl get pod
    
    • 1
    • 2
  • 相关阅读:
    【RocketMQ】NameServer的启动
    SSM+Vue+Element-UI实现网上跳蚤市场
    linux笔记10--编辑器之神VIM
    C++标准模板(STL)- 输入/输出操纵符-(std::setprecision,std::setw)
    免费 DIY 之旅问题
    【深入浅出Spring6】第八期——面向切面编程 AOP
    Django系列14-员工管理系统实战--用户登陆
    代码随想录--哈希--两个数组的交集
    MSDC 4.3 接口规范(24)
    vue2(2)
  • 原文地址:https://blog.csdn.net/anqixiang/article/details/133777975
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号