0
点赞
收藏
分享

微信扫一扫

Kubernetes----Kubernetes中通过指令式对象配置的方式管理对象


一、创建对象

编写deployment.yaml文件,内容如下:

apiVersion: v1
kind: Namespace
metadata:
name: dev
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
namespace: dev
spec:
replicas: 1
selector:
matchLabels:
run: nginx
template:
metadata:
labels:
run: nginx
spec:
containers:
- image: nginx:1.17.1
name: nginx
ports:
- containerPort: 80
protocol:

然后使用如下命令创建对象

[root@master object_manage]# kubectl create -f deployment.yaml
namespace/dev created
deployment.apps/nginx created
[root@master object_manage]#

二、查看对象

使用如下命令可查看创建的对象

[root@master object_manage]# kubectl get -f deployment.yaml
NAME STATUS AGE
namespace/dev Active 98s

NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/nginx 1/1 1 1 98s
[root@master object_manage]#

三、更新对象

编辑deployment.yaml文件,修改副本数为3,设置nginx镜像的tag为1.17.3,如下:

apiVersion: v1
kind: Namespace
metadata:
name: dev
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
namespace: dev
spec:
replicas: 3
selector:
matchLabels:
run: nginx
template:
metadata:
labels:
run: nginx
spec:
containers:
- image: nginx:1.17.3
name: nginx
ports:
- containerPort: 80
protocol:

然后使用如下命令额更新

[root@master object_manage]# kubectl replace -f deployment.yaml
namespace/dev replaced
deployment.apps/nginx replaced
[root@master object_manage]#

此时使用如下命令查看,可以发现pod数量已经更新为3个,此外nginx的镜像的tag也更新为1.17.3

[root@master object_manage]# kubectl get -f deployment.yaml -o wide
NAME STATUS AGE
namespace/dev Active 5m52s

NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
deployment.apps/nginx 3/3 3 3 5m52s nginx nginx:1.17.3 run=nginx
[root@master object_manage]#

四、删除对象

使用如下命令即可删除

[root@master object_manage]# kubectl delete -f deployment.yaml
namespace "dev" deleted
deployment.apps "nginx" deleted
[root@master object_manage]#


举报

相关推荐

0 条评论