Deployment
在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。
pod与deployment建立联系是通过label实现的。在kubernetes中Pod控制器的种类有很多,本章节只介绍一种:Deployment。
**命令操作**
# 命令格式: kubectl run deployment名称 [参数]
# --image 指定pod的镜像
# --port 指定端口
# --replicas 指定创建pod数量
# --namespace 指定namespace
[root@master~]# kubectl run nginx --image=nginx:1.17.1 --port=80 --replicas=3 -n dev
# 查看创建的Pod
[root@master~]# kubectl get pods -n dev
# 查看deployment的信息
[root@master~]# kubectl get deployment,pods -n dev

# 查看deployment的详细信息
[root@master~]# kubectl describe deploy nginx -n dev

# 删除
[root@master~]# kubectl delete deploy nginx -n dev

配置操作
创建一个deploy-nginx.yaml,内容如下:
vim deploy-nginx.yaml
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.1
name: nginx
ports:
- containerPort: 80
protocol: TCP
然后就可以执行对应的创建和删除命令了:
创建:
kubectl create -f deploy-nginx.yaml
删除:
kubectl delete -f deploy-nginx.yaml


网友评论