K8s控制器

POD分类

#自主式pod:退出后,不会被创建
#控制器管理的pod:在控制器的生命周期内,始终位置pod的副本数

控制器类型

ReplicationController和ReplicaSet Rc被Rs取代
Deployment
DeamonSet
StateFulSet
Job/Cronjob
Horizontal Pod Autoscaling

ReplicationController和ReplicaSet

RC确保用户指定的Pod副本数
新版本的k8s,Rs取代了Rc,RC与RS没有本质不同,只是RS支持集合式的selecor,通过标签label

Deployment

#命令式编程:侧重如何实现程序,需要按逻辑一步步把代码写出来
#声明式编程:侧重于定义想要什么,然后告诉计算机引擎,让他帮你实现;具有冪等性。(也就是给程序一份配置文件,它自动按照配置去执行任务,类似的引用如sql语句)
Deployment为pod和ReplicaSet提供了声明式的定义方法,(RC,RS是命令式的)
声明式编程 (Deployment) apply(最优) create(可以执行,但不是最优)
命令式编程 (RS) create(最优) apply(可以执行,但不是最优)
应用场景
1. 定义Deployment创建Pod和ReplicaSet
#如:如果创建名为nginx-deploy的deployment,那么deployment就会创建nginx-deploy-xxxx的rs,然后由rs去创建pod 2. 滚动升级与回滚应用
#通过控制rs的数目或版本实现
#如:滚动升级就是通过创建一个新版本的rs,旧版rs删除一个pod,新版本rs新建一个pod,从而实现滚动升级;如果发现新版本的pod有问题,就可以启动旧版本的rs,新版rs删除一个pod,旧版pod新建一个pod,从而实现了回滚 3. 扩容与缩容
通过rs自身的机制实现 4. 暂停与继续Deployment
#通过控制rs实现pod的挂起与继续

DaemonSet

1.确保全部或一部分node上运行一个Pod副本(也就是指定那些node上运行pod)。当有Node加入集群时,也会为它们新增一个pod。当有Node移出集群时,这些pod也会被回收。
# 画外音:DaemonSet生命周期内,这些node上都会维持一个pod副本,注意只能有一个不能多余一个pod。如果真的需要一个node上运行多个pod,需要通过定义多个DaemonSet的方式实现 2.删除DaemongSet时,也会删除它所创建的所有pod
典型用法
#主要是运行一个守护性的pod
1. 运行集群存储daemon
2. 在每个Node上运行日志收集daemon
3. 在每个node上运行监控程序daemon

Job

负责批处理任务,仅执行一次的任务,job中的脚本成功执行退出的次数,达到指定次数后就成功退出,不在执行
#画外音:如果job中的脚本没有以0结束就会重新执行。

CronJob 在特定的时间循环创建Job

基于时间的Job,即 跟crontab一样 分 时 日 月 年
# 在给定时间点只执行一次
# 周期性的在给定时间点运行
使用前提: k8s版本》=1.8 典型的用法
# 在给定的时间点调度Job
# 创建周期性的Job,如:数据库备份,发送邮件

StatefulSet

为了解决有状态服务的问题(对应Deployment和RS是为无状态服务而设计)

K8s控制器的更多相关文章

  1. k8s控制器资源(五)

    Pod pod在之前说过,pod是kubernetes集群中是最小的调度单元,pod中可以运行多个容器,而node又可以包含多个pod,关系如下图: 在对pod的用法进行说明之前,有必要先对docke ...

  2. k8s控制器资源

    k8s控制器资源   Pod pod在之前说过,pod是kubernetes集群中是最小的调度单元,pod中可以运行多个容器,而node又可以包含多个pod,关系如下图: 在对pod的用法进行说明之前 ...

  3. k8s控制器和Pod Template的关系

    Pod 本身并不能自愈(self-healing).如果一个 Pod 所在的 Node (节点)出现故障,或者调度程序自身出现故障,Pod 将被删除:同理,当因为节点资源不够或节点维护而驱逐 Pod ...

  4. k8s控制器理解

    DaemonSet 一个DaemonSet对象能确保其创建的Pod在集群中的每一台(或指定)Node上都运行一个副本.如果集群中动态加入了新的Node,DaemonSet中的Pod也会被添加在新加入N ...

  5. 还不会用 K8s 集群控制器?那你会用冰箱吗?(多图详解)

    作者 | 阿里云售后技术专家 声东 导读:当我们尝试去理解 K8s 集群工作原理的时候,控制器(Controller)肯定是一个难点.这是因为控制器有很多,具体实现大相径庭:且控制器的实现用到了一些较 ...

  6. k8s 中 Pod 的控制器

    k8s 中 Pod 的控制器 前言 Replication Controller ReplicaSet Deployment 更新 Deployment 回滚 deployment StatefulS ...

  7. k8sDeployment控制器

    简写为deploy,是k8s控制器的另一种实现,它构建于ReplicaSet之上,可为pod和rs资源提供声明式更新. deploy控制器资源的大部分功能均可通过调用rs来实现,同时,还增添了部分特性 ...

  8. 2020年必须掌握的硬核技能k8s

    Kubernetes 是一个软件系统,使你在数以万计的电脑节点上运行软件时就像 所有节点是以单个大节点一样, 它将底层基础设施抽象,这样做同时简化了应用开发.部署,以及对开发和运维团队的管理. Kub ...

  9. 浅谈 kubernetes service 那些事(上篇)

    一.问题 首先,我们思考这样一个问题: 访问k8s集群中的pod, 客户端需要知道pod地址,需要感知pod的状态.那如何获取各个pod的地址?若某一node上的pod故障,客户端如何感知? 二.k8 ...

随机推荐

  1. LaTex安装介绍

    写在前面 很多的会议.期刊要求投稿使用LaTex编辑,而不是Word,使用好LaTex后,论文的排版任务确实会变得轻松. 1.下载软件 LaTex有很多衍生版,常用的推荐是Tex live,安装方式选 ...

  2. Excel 2016双击文件打开后是空白,再次双击才能打开(或者通过文件,打开才能打开)

    问题描述: 直接双击excel文件打开后是空白的,几乎所有功能都无法使用.但是再次双击该文件能够打开,或者通过文件 --> 打开的方式才能打开. 虽说能够打开文件,但是对于咱们这种追求完美的人来 ...

  3. 【算法】——递归:小白正在上楼梯,楼梯有n阶台阶,小白一次可以上1阶,2阶或者3阶,实现一个方法,计算小白有多少种走完楼梯的方式。

    分析:从最后一步分析,能有的情况有三种情况构成,写出如图所示的方程 //和斐波拉契相似 int void f(int n) { //考虑出口 ) ;//正常思路是返回0 ) ;//通过自己想可以得出只 ...

  4. springboot打成war包并携带第三方jar包

    1.修改打包方式为war     <packaging>war</packaging> 2.添加第三方依赖的jar到pom     我的第三方jar包在resoueces目录下 ...

  5. 吴裕雄--天生自然HADOOP操作实验学习笔记:tf-idf算法

    实验目的 通过实验了解tf-idf算法原理 通过实验了解mapreduce的更多组件 学会自定义分区,读写缓存文件 了解mapreduce程序的设计方法 实验原理 1.TF-IDF简介 TF-IDF( ...

  6. 【笔记】机器学习 - 李宏毅 - 2 - Regression + Demo

    Regression 回归 应用领域包括:Stock Market Forecast, Self-driving car, Recommondation,... Step 1: Model 对于宝可梦 ...

  7. Linux第一周作业

    1.按系列罗列linux的发行版,并描述不同发行版之间的联系与区别. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户,多任务,支持多线程和多CPU的操作 ...

  8. 给你的网站添加谷歌AMP、百度MIP、神马MIP链接自动提交功能

    我们在做网站的时候,经常会听到别人说SEO优化,网站优化等等.但是我们经常听的云里雾里的,但是经过我们运营一段时间之后,我们慢慢的就会熟悉了,知道什么是SEO.SEO中文译名为搜索引擎优化,既然是叫搜 ...

  9. zipfile-压缩解压

    zipfile 压缩解压 import os import zipfile # 导入模块 # BASE_STATIC_CASE_RESULT:我Django static下面的某个路径 BASE = ...

  10. HDU1163 - Eddy's digital Roots

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1163 九余数:一个数除于9所得到的余数,即模9得到的值 求九余数: 求出一个数的各位数字之和,如果是两 ...