搭建kubeedge集群,在master节点部署边缘节点Node上的Nginx应用
1.环境
kubeedge集群搭建,阿里云服务器为Master节点,边缘节点node为虚拟机。环境搭建可以参考我的这几篇博客
云端环境搭建
虚拟机环境边缘节点搭建
在控制面板查询集群的状态
kubectl get nodes
各个节点都处于ready状态
说明集群状态正常,可用
2.配置文件
部署文件nginx-deployment.yaml设计
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
nodeSelector:
node-type: node1
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
hostPort: 8080
其中通过nodeSelector选择应用部署的节点,通过label进行匹配,可以在master节点通过以下命令给node1节点打标签
kubectl label nodes node1 node-type=node1
在master节点通过以下命令部署应用
kubectl apply -f nginx-deployment.yaml
结果如下:
可以看到deployment已经创建。同时通过
kubectl get pods
命令可以看到边缘节点的应用正在创建中,等待一会儿应用即可创建完成
pod处于running状态中,通过以下命令可以查看具体的调度情况
kubectl describe pod nginx-deployment-69c8998b5c-599x8(pod ID)
状态如下
应用成功调度到node1节点,到Node节点查看具体的运行情况,如下图
边缘节点node1中的nginx应用处于运行中
3.运行结果
配置文件中指定了hostPort 8080,在浏览器打开节点ip:8080,可以看到nginx顺利运行
4.小节
通过搭建kubeedge集群,实现了在云端对边缘节点的应用部署。应用搭建的核心在于yaml文件的编写,此文章是自己的一个学习记录,欢迎大家批评指正。