当前位置: 首页 > news >正文

飞天使-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/

参考资料:
马哥,杰哥

相关文章:

  • ftp安装与配置 云服务器 CentOS7
  • Java_线程通信
  • VCG 网格面片法向量平滑
  • Android Compose——ScrollableTabRow和LazyColumn同步滑动
  • Danswer部署指南
  • 计算机体系结构----缓存一致性/多处理机
  • OceanBase与MySQL兼容性对比
  • Python系列(1):简洁优雅,功能强大的编程语言
  • 《SRE Google 运维解密》笔记
  • 【Spring Cloud】Sentinel流量限流和熔断降级的讲解
  • 机器学习 -- 贝叶斯决策理论
  • 绘制几何图形(Shape)
  • ChatGpt使用技巧
  • x-cmd pkg | csview - 美观且高性能的 csv 数据查看工具
  • 31 树的存储结构二
  • @angular/forms 源码解析之双向绑定
  • 2017届校招提前批面试回顾
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 为什么要用IPython/Jupyter?
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 用jquery写贪吃蛇
  • #include
  • (1)Nginx简介和安装教程
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (十六)Flask之蓝图
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (转) RFS+AutoItLibrary测试web对话框
  • .form文件_SSM框架文件上传篇
  • .gitignore文件—git忽略文件
  • .md即markdown文件的基本常用编写语法
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net core 6 redis操作类
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET 依赖注入和配置系统
  • .Net7 环境安装配置
  • [22]. 括号生成
  • [4.9福建四校联考]
  • [ACTF2020 新生赛]Include
  • [Android View] 可绘制形状 (Shape Xml)
  • [Asp.net mvc]国际化
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [C++核心编程](四):类和对象——封装
  • [DM复习]关联规则挖掘(下)
  • [FFmpeg学习]从视频中获取图片
  • [IE编程] 如何设置IE8的WebBrowser控件(MSHTML) 的渲染模式
  • [iOS]中字体样式设置 API
  • [Linux] Boot分区满了的处理方法 The volume boot has only 0 bytes disk space remaining
  • [Linux](15)线程基础,线程控制,线程的互斥与同步
  • [Linux]创建新用户并授予root权限