Deployment 介绍
是一种Pod控制器(有很多种控制器),是一种无状态服务(可以部署web微服务),具有上线部署,滚动升级、创建副本、回滚到以前某一版本(成功/稳定)等功能
Deployment 包含 ReplicaSet,除非需要自定义升级功能或者根本不需要升级 Pod,否则还是建议使用 Deployment 而不直接使用 ReplicaSet
一、通过命令行创建
1、创建
kubectl run nginx --image=nginx --replicas=2
nginx:应用名称
--replicas:指定应用运行的 pod 副本数
--image:使用的镜像(默认从dockerhub拉取)
2、查看 deployment
[[email protected] yaml]# kubectl get deployment 或者 kubectl get deploy
NAME READY UP-TO-DATE AVAILABLE AGE
nginx 2/2 2 2 19m
3、查看 replicaset
[[email protected] yaml]# kubectl get replicaset 或者 kubectl get rs
NAME DESIRED CURRENT READY AGE
nginx-5578584966 2 2 2 18m
4、查看 pod
[[email protected] yaml]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx-5578584966-m7fcz 1/1 Running 0 45s 10.244.2.5 node2 <none> <none>
nginx-5578584966-nmffb 1/1 Running 0 45s 10.244.1.4 node1 <none> <none>
二、通过 yaml 资源清单文件创建
1、创建文件
vim deploy-nginx.yaml
# 文件内容
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-app
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
2、创建
kubectl apply -f deploy-nginx.yaml
三、删除 Deployment
1、通过 命令行创建的
kubectl delete deploy nginx
2、如果 资源清单文件创建的,除了命令行方法,还可以这样删除
kubectl delete -f deploy-nginx.yaml