ljwljw-edge cloud学习原理与实践

举报
cute_ljw 发表于 2024/03/05 11:36:43 2024/03/05
【摘要】 概念edgecloud 近年来随着云计算的快速发展不断兴起,简单来说该方法将原先整个云计算系统当中所有计算任务都需要提交给中心计算节点进行处理的模式更改为一些边缘端力所能及的计算任务直接由微型设备计算处理,这样的话整个系统之间就会协同工作,大大提升效率,但在这样的模式下就要求边缘设备都具备一定的计算能力,需要更加智能,同时对整个云计算系统的统筹能力也提出了较高的要求。 搭建集群系统首先进行...

概念

edgecloud 近年来随着云计算的快速发展不断兴起,简单来说该方法将原先整个云计算系统当中所有计算任务都需要提交给中心计算节点进行处理的模式更改为一些边缘端力所能及的计算任务直接由微型设备计算处理,这样的话整个系统之间就会协同工作,大大提升效率,但在这样的模式下就要求边缘设备都具备一定的计算能力,需要更加智能,同时对整个云计算系统的统筹能力也提出了较高的要求。

搭建集群系统

首先进行系统的运行环境搭建,cloud edge需要运行在容器集群上

[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# hostnamectl set-hostname node
[root@localhost ~]# hostnamectl set-hostname kubeedge-node  # 边缘节点
# 在修改完节点的主机名之后,三台主机上都需要修改hosts文件,将IP映射内容写入,内容省略

接着在master节点上拉取构建压缩包XXX.tar.gz,并将其解压到/opt目录

[root@master ~]# tar -zxvf XXX.tar.gz -C /opt/
[root@k8s-master ~]# ls /opt/

接着在master上安装FTP,给另外两个节点提供本地yum源服务
image.png

同样的在node和edge上配置yum源,指向master节点,配置过程省略,接着按照kube的安装方式进行即可。

主节点部署

在master主节点上准备好相关软件包
image.png
部署完相关软件包之后,启动主节点的云服务,这里需要注意的事各个参数的含义,尤其是–advertise-address,需要设置为主节点的内网IP

 cd /etc/kubeedge/
keadm deprecated init --kubeedge-version=1.11.1 --advertise-address=内网IP
# 运行完毕后,检查服务是否正常
netstat -ntpl |grep cloudcore

云主机节点编程配置(注意此处)

down:

伸缩组:
5004d62e604b17522b91c37652cf48b6.png
0084d65ac7ca7f11d8d86c52e8b987c5.png

823408518dd3c6337942eeb073e11c61.png
b91cdcebe2720b502154553cd41e51d1.png

afa7d3b9625b6c1cef901b234cb2ddae.png

边缘部署

在边缘edge节点准备好相关软件

scp root@master(此处注意是填写master节点的主机名):/usr/bin/keadm /usr/local/bin/
mkdir /etc/kubeedge
cd /etc/kubeedge/
scp -r root@master:/etc/kubeedge/* /etc/kubeedge/

# 完成以上步骤后,回到master主节点查询token秘钥
[root@master ~]# keadm gettoken

使用获取到的秘钥将edge加入master

[root@kubeedge-node kubeedge]# keadm deprecated join --cloudcore-ipport=10.26.3.33:10000 --kubeedge-version=1.11.1 --token=之前查询的token填入此处
##如果此处提示本地yum源有问题,除了ftp的源保留,其他删除再执行一次上面的命令
[root@node kubeedge]# rm -rf /etc/yum.repos.d/epel*
[root@node kubeedge]# systemctl status edgecore

在master上检查节点是否加入

# 状态如果ready表示加入
kubectl get nodes

数据监控打开

切换到master节点

export CLOUDCOREIPS="设置为master的内网地址"
cd /etc/kubeedge/
./certgen.sh stream

修改配置文件

vi /etc/kubeedge/config/cloudcore.yaml

image.png

重新启动服务

kill -9 $(netstat -lntup |grep cloudcore |awk 'NR==1 {print $7}' |cut -d '/' -f 1)
cp -rfv cloudcore.service /usr/lib/systemd/system/
systemctl start  cloudcore

回到边缘端,重启服务

systemctl stop edgecore
systemctl restart edgecore

在master上面运行监控服务

 cd /opt/
kubectl apply -f deploy.yaml
kubectl top nodes

程序上云

  1. 伸缩组
# 查询
        request = ListScalingGroupsRequest()
        response = client.list_scaling_groups(request).to_dict()
        if len(response['scaling_groups']) > 0:
            for i in response['scaling_groups']:
                # 删除
                scaling_group_id = i['scaling_group_id']
                request = DeleteScalingGroupRequest()
                request.scaling_group_id = scaling_group_id
                response = client.delete_scaling_group(request).to_dict()
                print(response)

        # 创建
        request = CreateScalingGroupRequest()
        listSecurityGroupsbody = [
            SecurityGroup(
                id="10a7d515-8fc5-4b89-a9e0-cd76cd24d4d3"
            )
        ]
        listNetworksbody = [
            Networks(
                id="60fac206-a107-485e-8a54-79216547e54a"
            )
        ]
        listAvailableZonesbody = [
            "cn-north-4a"
        ]
        request.body = CreateScalingGroupOption(
            vpc_id="eafce6b0-0ee0-4e1e-98f4-6e8fe4c96781",
            security_groups=listSecurityGroupsbody,
            networks=listNetworksbody,
            available_zones=listAvailableZonesbody,
            max_instance_number=3,
            min_instance_number=1,
            desire_instance_number=2,
            scaling_configuration_id="28a4a873-4788-4055-b371-665b836a19cd",
            delete_volume=True,
            delete_publicip=True,
            scaling_group_name="chinaskills_as_group"
        )
        response = client.create_scaling_group(request).to_dict()
        print(response)
        scaling_group_id = response['scaling_group_id']
        # 查询
        request = ShowScalingGroupRequest()
        request.scaling_group_id = scaling_group_id
        response = client.show_scaling_group(request)
        print(response)
  1. 主机管理见文件
  • 8.36KB 下载次数:1

    附件下载

  • a.txt 8.36KB 下载次数:1
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。