Deployment控制Pod,使Pod拥有多副本,自愈,扩缩容等能力
# 查看deployment
kubectl get deploy
# 清除所有Pod,比较下面两个命令有何不同效果?
# run方式启动的pod删除后就真删除了
kubectl run mynginx --image=nginx
# deployment创建的pod删除后会自动创建一个新的pod替代老的pod
kubectl create deployment mytomcat --image=tomcat:8.5.68
# 这种自启的能力称为自愈能力
#启动3个pod(replicas=3)
kubectl create deployment my-dep --image=nginx --replicas=3
# yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: my-dep
name: my-dep
spec:
replicas: 3
selector:
matchLabels:
app: my-dep
template:
metadata:
labels:
app: my-dep
spec:
containers:
- image: nginx
name: nginx
# 扩缩容
# 扩(缩)为5份
kubectl scale --replicas=5 deployment/my-dep
# 修改
kubectl edit deployment my-dep
# 滚动更新(将my-dep deployment中的nginx镜像更新为nginx:1.16.1,record记录本次部署方便后面回滚)
kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record
# 查看滚动更新的过程
kubectl rollout status deployment/my-dep
# 版本回退
#查看历史记录
kubectl rollout history deployment/my-dep
#查看某个历史详情
kubectl rollout history deployment/my-dep --revision=2
#回滚(回到上次)
kubectl rollout undo deployment/my-dep
#回滚(回到指定版本)
kubectl rollout undo deployment/my-dep --to-revision=2
更多:
除了Deployment,k8s还有 StatefulSet
、DaemonSet
、Job
等 类型资源。我们都称为 工作负载
。
有状态应用使用 StatefulSet
部署,无状态应用使用 Deployment
部署
https://kubernetes.io/zh/docs/concepts/workloads/controllers/
deployment:无状态应用部署,比如微服务,提供多副本功能
statefulset:有状态应用部署,如redis,提供稳定的存储,网络等功能
daemonset:守护型应用部署,如日志收集组件,在每个机器上都运行一份
job/cronjob:定时任务部署,如垃圾清理组件,可以在指定时间运行
- 相关文章
- 虚拟机环境搭建及各种坑及前期准备
- kubernetes集群环境搭建-公共操作
- 主节点及node节点配置
- 名称空间namespace
- kubernetes-pod
- kubernetes-service
- kubernetes-ingress
- kubernetes-存储抽象pv&pvc
- kubernetes-ConfigMap
- kubernetes-Secret
- 热门文章
- win7中将文件拷贝到虚拟机linux下
- phpexcel设置行高及列宽,背景颜色,
- rabbitmq无法启动
- intellij idea不显示git push按钮
- php7中使用mongodb的aggregate进行
- centos7.4 64位下swoole安装及配置
- laravel页面静态化的方法
- navicate连接mycat报1184错误
- 单点登录sso原理及php实现方式及de
- devops-jenkins容器为pending状态
- 好评文章
- phpexcel设置行高及列宽,背景颜色,
- php7中使用mongodb的aggregate进行
- intellij idea打开文件所在文件夹
- windows下使用MongoDB Compass Com
- win7中将文件拷贝到虚拟机linux下
- laravel 中悲观锁 & 乐观锁的使用
- 单点登录sso原理及php实现方式及de
- navicate连接mycat报1184错误
- rabbitmq无法启动
- laravel整合dingo/api方法步骤:jwt
- 我的项目
- 【github】www.github.com/hurong241
- 【码云】gitee.com/hu_rong/projects
- 【docker hub】hub.docker.com/repositories/hurong241
- 【packagist】packagist.org/users/hurong241/packages
- 站点信息
- 建站时间:2011年
- 文章数:607篇
- 浏览数:948034