十三. Kubernetes 工作负载

目录

  • 一. k8s 工作负载基础解释

一. k8s 工作负载基础解释

  1. 官方文档
  2. 什么是工作负载:
  1. 首先工作负载是运行在k8s上的一个应用程序,并不是单指负载均衡
  2. 使用k8s时一个服务运行在一个Container容器中,一个完整的应用可能需要多个服务容器部署运行,这多个服务容器可能运行在多个pod上,那么用来运行这个完整应用的一组pod,就可以称为一个工作负载
  3. 工作负载的控制结构可以理解为: 一组pod组成一个完整的应用,一个工作负载控制这一组pod,一个pod中又控制一组容器,比如不是deploy部署3个副本的nginx,3个副本可能会部署到3个pod上,每个副本就是一个容器,这3个pod就是一个工作负载
  1. 简单来说运行在k8s上的一个完整应用(内部可能包含多个pod,多个服务容器)就可以称为一个工作负载
  2. 通过k8s内部服务宕机恢复解释工作负载的作用
  1. 通常情况下不会直接创建Pod,而是创建一些工作负载由工作负载创建Pod
  2. 直接创建Pod的缺点: 直接创建的pod,该pod中的容器如果宕机异常,有恢复功能, 但是这个pod如果宕机异常不会有恢复功能
  3. 由工作负载创建pod解决这个问题,通过工作负监控pod状态实现pod的异常恢复功能
  1. 工作负载又分多种类型:(不同类型的工作负载,就是不同类型的控制器,被controllerManager管理)
  1. Deploy: Deploy(Deployment)下又分ReplicaSet与ReplicaController
  2. StatefulSet
  3. DaemonSet
  4. Job
  5. CronJob
    十三. Kubernetes 工作负载_第1张图片
  1. 在k8s架构层面存在apiServer, controllerManager控制器管理器,etcd数据库等组件,而controllerManager控制器管理器就可以理解为管理了多个工作负载控制器,apiServer接收操作指令,controllerManager监听apiServer接收操作指令,判断执行的指令属于哪个控制器,例如Deploy或StatefulSet或DaemonSet等等,然后通过对应的控制器处理对应的指令,控制器将指令处理完毕后,将处理后的指令存储到etcd
    十三. Kubernetes 工作负载_第2张图片
  2. 学习工作负载就是学习不同类型的工作负载有什么不同,怎么控制pod的行为

你可能感兴趣的:(k8s,kubernetes,docker,java)