ljwljw-edge cloud学习原理与实践
【摘要】 概念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源服务
同样的在node和edge上配置yum源,指向master节点,配置过程省略,接着按照kube的安装方式进行即可。
主节点部署
在master主节点上准备好相关软件包
部署完相关软件包之后,启动主节点的云服务,这里需要注意的事各个参数的含义,尤其是–advertise-address,需要设置为主节点的内网IP
cd /etc/kubeedge/
keadm deprecated init --kubeedge-version=1.11.1 --advertise-address=内网IP
# 运行完毕后,检查服务是否正常
netstat -ntpl |grep cloudcore
云主机节点编程配置(注意此处)
down:
伸缩组:
边缘部署
在边缘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
重新启动服务
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
程序上云
- 伸缩组
# 查询
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)
- 主机管理见文件
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)