zoukankan      html  css  js  c++  java
  • Kubernetes(十九)Deployment

      • kubernetes提供的控制器列表
        • ReplicaSet 确保任何时间都有指定的数量Pod副本在运行(Deployment已经包含该功能)。
        • ReplicationController 确保任何时候都有特定的Pod副本处于运行状态(Deployment已经包含该功能)。
        • Deployment 是kubernetes最常用的控制器,主要是用于部署无状态应用;我们平时开发的web、webapi、微服务都是无状态应用;
        • StatefulSet 主要是用于部署有状态应用;比如redis、mysql等。
        • DaemonSet 确保全部或某些节点上运行一个Pod副本。当有节点加入集群时,也会为他们新增一个Pod。当节点从集群中移除时候,这些Pod也会被回收。删除DaemonSet将会删除它创建的所有Pod.主要用于运行存储插件、监控插件、日志插件等。
        • TTL控制器 现在只支持job,主要用来限制已经完成执行的资源对象的生命周期。
        • Jobs-Run to Completion 主要用于三种任务类型:非并行作业、固定完成计数的并行作业、具有工作队列的并行作业。
        • CronJob 根据设定的时间表运行作业。
      • Deployment
      • 介绍
        • 官网链接 https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/
        • Deployment是kubernetes最常用的控制器,主要是用于部署无状态应用;我们平时开发的web、webapi都是无状态应用;
        • Deployment通过Lables、selector进行容器关联。
        • Pod通过控制器实现应用的运维,如:伸缩、滚动升级等。
        • 重要概念(控制器用来管理pod,控制器通过lables关联pod
      • 创建Deployment
        • kubectl apply -f nginx-deployment.yaml #创建deployment
        • kubectl get deployments #查看创建的deployment
        • kubectl get pods --show-labels #查看创建的pod
      • 更新Deployment
        • kubectl set image deployment/nginx nginx=nginx:1.9.1 #更新版本
        • kubectl rollout status deployment/nginx #查看更新进度
        • kubectl edit deployment/nginx #编辑deployment来更新,编辑保存后会自动更新配置
      • 回滚Deployment
        • kubectl rollout history deployment/nginx #查看更新历史记录    
        • kubectl rollout undo deployment/nginx #回滚到上一个版本
        • kubectl rollout undo deployment/nginx --to-revision=2 #回滚到指定版本
      • 缩放/扩容Deployment
        • kubectl scale deployment nginx --replicas 10   #修改pod数量为10
        • kubectl autoscale deployment nginx --min=3 --max=15 --cpu-percent=80 #设置自动扩容(需集群支持horizontal pod autoscaling)
      • 暂停、恢复Deployment
        • kubectl rollout pause deployment.v1.apps/nginx #暂停deployment
        • kubectl rollout resume deployment.v1.apps/nginx #恢复deployment
      • 删除Deployment
        • kubectl delete deployment/nginx #删除deployment
        • kubectl delete svc/nginx-service #删除service
  • 相关阅读:
    Babel 7.x 和 Babel 8.x的区别
    JavaScript——Set 的用法
    DFS 和 BFS
    JavaScript——event事件详解
    Day17-18前端学习之路——Javascript事件
    Day17-18前端学习之路——常用语句资料库
    Day5前端学习之路——盒模型和浮动
    Day7前端学习之路——多栏布局
    如何在GitHub预览html
    新人上路请教一个输入字符的问题
  • 原文地址:https://www.cnblogs.com/TSir/p/12259201.html
Copyright © 2011-2022 走看看