飞天使-k8s知识点10-kubernetes资源对象3-controller

本文主要是介绍飞天使-k8s知识点10-kubernetes资源对象3-controller,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • pod
          • 探针
        • 控制器

pod

概述:
1. pod是k8s中的最小单元
2. 一个pod中可以运行一个容器,也可以运行多个容器
3. 运行多个容器的话,这些容器是一起被调度的
4. Pod的生命周期是短暂的,不会自愈,是用完就销毁的实体
5. 一般我们是通过Controller来创建和管理pod的Pod生命周期:
初始化容器、启动前操作、就绪探针、存活探针、删除pod操作Pod 是 Kubernetes 中最小的可调度和可管理单位,它可以包含一个或多个容器。以下是 Pod 的生命周期和各个阶段的描述:Pending(挂起):在此阶段,Kubernetes 正在为 Pod 分配资源,并且正在等待这些资源准备就绪。此时,Pod 还没有运行在任何节点上。Initializing Containers(初始化容器):如果 Pod 中定义了初始化容器(Init Containers),则在此阶段,初始化容器会按照顺序依次运行。初始化容器可以用于执行一些预配置任务,例如加载配置文件、下载数据等。只有当所有初始化容器成功完成后,Pod 才会进入下一个阶段。ContainerCreating(创建容器):在此阶段,Kubernetes 正在创建并启动 Pod 中的容器。它会为每个容器分配网络和存储资源,并将容器的镜像拉取到节点上。Running(运行中):一旦容器创建完成并成功启动,Pod 就会进入 Running 阶段。此时,容器正在运行,并且可以正常处理请求。Ready(就绪):在此阶段,Pod 已经准备好接收请求,并且所有容器都已经启动并且就绪。Kubernetes 可以将流量路由到就绪的 Pod 上。ContainerTerminated(容器终止):如果容器发生故障或被意外终止,Pod 将进入 ContainerTerminated 阶段。此时,Kubernetes 会根据重启策略(Restart Policy)来决定是否重新启动容器。Terminating(终止中):在删除 Pod 或缩容时,Pod 将进入 Terminating 阶段。在此阶段,Kubernetes 会发送信号给 Pod 中的容器,并尝试优雅地终止它们。一旦所有容器都终止完成,Pod 就会被删除。请注意,就绪探针(Readiness Probe)和存活探针(Liveness Probe)是 Kubernetes 用于检测容器健康状态的机制。就绪探针用于确定容器是否准备好接收流量,而存活探针用于确定容器是否仍然处于运行状态。这些探针可以在 Pod 的描述文件中配置,并且可以根据需要进行自定义设置。livenessProbe:存活探针
检测应用发生故障时使用,不能提供服务、超时等
检测失败重启pod
readinessProbe:就绪探针
检测pod启动之后应用是否就绪,是否可以提供服务
检测成功,pod才开始接收流量
探针
ExecAction
#在容器内执行指定命令,如果命令退出时返回码为0则认为诊断成功。 TCPSocketAction
#对指定端口上的容器的IP地址进行TCP检查,如果端口打开,则诊断被认为是成功的。HTTPGetAction
#对指定的端口和路径上的容器的IP地址执行HTTPGet请求,如果响应的状态码大于等于200且小于 400,则诊断被认 为是成功的。
控制器
• Replication Controller #第一代pod副本控制器
• ReplicaSet #第二代pod副本控制器
• Deployment #第三代pod控制器Replication Controller:副本控制器(selector = !=)
• https://kubernetes.io/zh/docs/concepts/workloads/controllers/replicationcontroller/
• https://kubernetes.io/zh/docs/concepts/overview/working-with-objects/labels/
• ReplicaSet:副本控制集,和副本控制器的区别是:对选择器的支持
(selector 还支持in notin)
• https://kubernetes.io/zh/docs/concepts/workloads/controllers/replicaset/
• Deployment:比rs更高一级的控制器,除了有rs的功能之外,还有很多高级
功能,,比如说最重要的:滚动升级、回滚等
• https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/

参考资料:
马哥,杰哥

这篇关于飞天使-k8s知识点10-kubernetes资源对象3-controller的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/594205

相关文章

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

k8s部署MongDB全过程

《k8s部署MongDB全过程》文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接... 目录一、环境准备1.1 环境说明1.2 创建 namespace1.3 创建mongdb账号/密码二、创建Sec

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE