03.kubernetes笔记 Pod控制器(二) Deployment

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03.kubernetes笔记 Pod控制器(二) Deployment相关的知识,希望对你有一定的参考价值。

参考技术A

目录
Deployment简介
Deployment 字段格式
示例1: 创建Deployment控制器
deployment rollout命令查看状态
示例2: Deployment版本回滚
示例3: 使用 pause 模拟金丝雀发布
示例4: 修改Deployment滚动更新策略

Deployment 为 Pod 和 ReplicaSet 提供了一个声明式定义 (declarative) 方法,用来替代以前的ReplicationController 来方便的管理应用。典型的应用场景包括;定义 Deployment 来创建 Pod 和 ReplicaSet

Deployment 无状态服务最常用的Pod管理器
Deployment 实际是管理ReplicaSet Deployment默认会保存10个ReplicaSet历史版本
Deployment 会把ReplicaSet之前个版本的副本数修改为0

Docker&Kubernetes ❀ Kubernetes集群Pod控制器分类简述

文章目录

1、基本概念


Pod控制器是管理Pod的中间层,使用了Pod控制器之后,只需要告诉Pod控制器需要创建的方式、数量、参数即可,控制器会根据配置内容创建出满足条件的Pod,并确保每一个Pod都处于用户期望使用的状态,如果Pod在运行中出现故障,控制器会基于指定策略进行重启或者重建Pod;

在Kubernetes中按照Pod的创建方式可以将其分为两大类:

  • 自主式Pod:Kubernetes直接创建出来的Pod,这种Pod删除之后不会重建;
  • 控制器创建的Pod:通过Pod控制器创建生成,删除之后自动重建;

2、常见的Pod控制器


在Kubernetes中有很多类型的Pod控制器,每种都有自己的适用场景,常见如下几种:

  • ReplcationController:比较原始的Pod控制器,已经被淘汰,由ReplicaSet替代;
  • ReplicaSet:保证指定实例的Pod运行,并支持Pod数量变更,镜像版本更替;
  • Deployment:通过控制ReplicaSet来控制Pod,并支持滚动升级、版本回退;
  • Horizontal Pod Autoscaler:可以根据集群负载自动调整Pod的数量,实现削峰填谷;
  • DaemonSet:在集群中的指定Node上都运行一个副本,一般用于守护进程类的任务;
  • Job:创建出来的Pod只要完成任务就会立即退出,一般用于执行一次性任务;
  • Cronjob:创建的Pod会周期性的执行,用于执行周期性任务;
  • StatefulSet:管理有状态的应用;(此Pod控制器不做解释与介绍)

3、配置参数查询方法


#一级参数
[root@master ~]# kubectl explain rs
#二级参数
[root@master ~]# kubectl explain rs.spec
#三级参数
[root@master ~]# kubectl explain rs.spec.selector
#逐级查询即可 ...

以上是关于03.kubernetes笔记 Pod控制器(二) Deployment的主要内容,如果未能解决你的问题,请参考以下文章

k8s 读书笔记 - 详解 Pod 调度(Ⅰ卷)

Kubernetes笔记

K8S-[二]Deployment控制器

Docker&Kubernetes ❀ Kubernetes集群实践与部署笔记知识点梳理

Docker&Kubernetes ❀ Kubernetes集群实践与部署笔记知识点梳理

k8s的pod控制器