【Kubernetes系列】Workloads(工作负载)

2023-11-01

概述

工作负载是在 Kubernetes 上运行的应用程序。

在 Kubernetes 中,无论你的负载是由单个组件还是由多个一同工作的组件构成, 你都可以在一组 Pod 中运行它。 在 Kubernetes 中,Pod 代表的是集群上处于运行状态的一组 容器 的集合。

Kubernetes Pod 遵循预定义的生命周期。 例如,当在你的集群中运行了某个 Pod,但是 Pod 所在的 节点 出现致命错误时, 所有该节点上的 Pod 的状态都会变成失败。Kubernetes 将这类失败视为最终状态: 即使该节点后来恢复正常运行,你也需要创建新的 Pod 以恢复应用。

【Kubernetes系列】Workloads(工作负载)-  Java技术债务

工作负载资源

为了减轻用户的使用负担,通常不需要用户直接管理每个 Pod。 而是使用负载资源来替用户管理一组 Pod。 这些负载资源通过配置 控制器 来确保正确类型的、处于运行状态的 Pod 个数是正确的,与用户所指定的状态相一致。

Kubernetes 提供若干种内置的工作负载资源:

  • Pod

    Pod是Kubernetes创建或部署的最小单位。一个Pod封装一个或多个容器(container)、存储资源(volume)、一个独立的网络IP以及管理控制容器运行方式的策略选项。

    Pod使用主要分为两种方式:

    • Pod中运行一个容器。这是Kubernetes最常见的用法,您可以将Pod视为单个封装的容器,但是Kubernetes是直接管理Pod而不是容器。
    • Pod中运行多个需要耦合在一起工作、需要共享资源的容器。通常这种场景下应用包含一个主容器和几个辅助容器(SideCar Container),如图1所示,例如主容器为一个web服务器,从一个固定目录下对外提供文件服务,而辅助容器周期性的从外部下载文件存到这个固定目录下。

    实际使用中很少直接创建Pod,而是使用Kubernetes中称为Controller的抽象层来管理Pod实例,例如Deployment和Job。Controller可以创建和管理多个Pod,提供副本管理、滚动升级和自愈能力。通常,Controller会使用Pod Template来创建相应的Pod。

  • DeploymentReplicaSet (替换原来的资源 ReplicationController)。

    Deployment 很适合用来管理你的集群上的无状态应用,Deployment 中的所有 Pod 都是相互等价的,并且在需要的时候被替换。

  • StatefulSet 让你能够运行一个或者多个以某种方式跟踪应用状态的 Pod。

    例如,如果你的负载会将数据作持久存储,你可以运行一个 StatefulSet,将每个 Pod 与某个 PersistentVolume 对应起来。你在 StatefulSet 中各个 Pod 内运行的代码可以将数据复制到同一 StatefulSet 中的其它 Pod 中以提高整体的服务可靠性。

  • DaemonSet 定义提供节点本地支撑设施的 Pod

    这些 Pod 可能对于你的集群的运维是 非常重要的,例如作为网络链接的辅助工具或者作为网络 插件 的一部分等等。每次你向集群中添加一个新节点时,如果该节点与某 DaemonSet 的规约匹配,则控制平面会为该 DaemonSet 调度一个 Pod 到该新节点上运行。

  • JobCronJob

    定义一些一直运行到结束并停止的任务。Job 用来执行一次性任务,而 CronJob 用来执行的根据时间规划反复运行的任务。

在庞大的 Kubernetes 生态系统中,你还可以找到一些提供额外操作的第三方工作负载相关的资源。 通过使用定制资源定义(CRD), 你可以添加第三方工作负载资源,以完成原本不是 Kubernetes 核心功能的工作。 例如,如果你希望运行一组 Pod,但要求所有 Pod 都可用时才执行操作 (比如针对某种高吞吐量的分布式任务),你可以基于定制资源实现一个能够满足这一需求的扩展, 并将其安装到集群中运行。

工作负载生命周期

状态 说明
运行中 所有实例都处于运行中才是运行中。
未就绪 容器处于异常、实例数为0或pending状态时显示此状态。
升级/回滚中 触发升级或回滚动作后,工作负载会处于升级/回滚中。
可用 当多实例无状态工作负载运行过程中部分实例异常,可用实例不为0,工作负载会处于可用状态。
执行完成 任务执行完成,仅普通任务存在该状态。
已停止 触发停止操作后,工作负载会处于停止状态,实例数变为0。v1.13之前的版本存在此状态。
删除中 触发删除操作后,工作负载会处于删除中状态。
暂停中 触发暂停操作后,工作负载会处于暂停中状态。

欢迎拜访

本文作者:Java技术债务
原文链接:https://cuizb.top/myblog/article/1667745322
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 3.0 CN协议进行许可。转载请署名作者且注明文章出处。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Kubernetes系列】Workloads(工作负载) 的相关文章

随机推荐

  • Global Average Pooling对全连接层的可替代性分析

    在NIN Network in Network 这篇论文中有很多的思想让人受益匪浅 其中之一就是全局平均池化 Global Average Pooling 对于全连接层的替代性分析 刚开始由于觉得之后的研究不需要NIN 因此就没去看论文 看
  • 第07课:生活中的代理模式——帮我拿一下快递

    用程序来模拟生活 从剧情中思考代理模式 代理模式的模型抽象 代码框架 类图 基于框架的实现 模型说明 代理模式的优点 代理模式的缺点 应用场景 故事剧情 八月中秋已过 冬天急速飞来 一场秋雨一场寒 十场秋雨穿上棉 在下了两场秋雨之后 Ton
  • 微信小程序精通到入门---07 tabBar和导航跳转

    一 tabBar使用 tabBar就是微信小程序底部的tab框 每个框必须指定一个对应的页面 设置步骤如下 步骤1 在images文件下创建一个nav目录 并且创建了6个图片 3个tab 每个tab的active和非acitve状态各一张
  • ChatGPT+Ai绘图【stable-diffusion实战】

    ai绘图 stable diffusion生成 还有很大的提升空间 提示词1 Picture a planet where every living thing is made of light The landscapes are bre
  • 知道两数之和,然后在数组中找到,输出数组下标

    这一个是对于在一个数组当中 这个数组是给定的然后在其数组内查找两个数相加等于目标值的数 之后输出他们的数组下标 1 首先从理解题目入手 从题目中可以看出给定的数组中有几个数 然后给出目标结果值 2 根据给定的开头 c语言版 int twoS
  • Objective-C 类,数据成员,函数成员,对象,

    一 类 在ios中 类的声明和实现时分离的 也就是说不能写在同一个文件中 声明放在 文件中 实现放在 m 文件中 在实现文件中引入 h文件 import xxx h 声明一个类 import
  • Swagger简介

    欢迎访问本人博客 http wangnan tech 欢迎关注简书 点击打开链接 欢迎关注微信公众号 前言 Swagger 是一款RESTFUL接口的文档在线自动生成 功能测试功能软件 本文简单介绍了在项目中集成swagger的方法和一些常
  • git 报错 eslint --fix found some errors. Please fix them and try committing again.

    这个问题是 git add git commit m 注释 命令输入完成后的报错 eslint报错 解决 git commit no verify m 提交时的注释
  • 发票打印不全不完整的解决方案(Win10)

    发票不管怎么设置 不是二维码缺少一点 就是金额小数点后边的数字显示不全 具体原因是打印机默认纸张上A4 实际发票纸张要比A4宽度宽一点点 原来写过一篇程序方便的打印票据的控制 终于部分解决了 NET Drawing Printing中自定义
  • MySQL-分库分表详解(六)

    作者 小刘在C站 个人主页 小刘主页 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 学习两年总结出的运维经验 以及思科模拟器全套网络实验教程 专栏 云计算技术 小刘私信可以随便问 只要会绝不吝啬 感谢CSDN让你我相遇 前言
  • python--七夕小游戏

    众所周知 我们python编程语言是可以用来做网站应用的 也可以做客户端应用的 但是客户端不懂python 就会出现很多让人奔溃的事件 但是 我们可以通过python中的第三方模块将我们的脚本转成exe文件运行 1 打开cmd 进入到终端下
  • Material Design【Android-Toolbar,滑动菜单,悬浮按钮,卡片布局,下拉刷新和可折叠式标题栏及案例】

    文章目录 Material Design 界面设计 1 Toolbar 标题栏 2 滑动菜单 3 悬浮按钮和可交互提示 4 卡片布局 5 下拉刷新 6 可折叠式标题栏 Material Design 界面设计 1 Toolbar 标题栏 1
  • Eclipse 历史版本

    url http archive eclipse org eclipse downloads index php url
  • 2023年3月27日--4月22日(ue视频教程,10小时,合计1989小时,剩余8011小时)

    目前 ue视频教程进行到了智 慧 城 市 3 13 mysql 7 1 tf1 4 11 蓝图反射 1 9 moba 1 5 webapp 2 4 mmoarpg 00A 04 fps1 8 socket 2 57 Opengl 5 9 G
  • 【C++】队列(queue)的使用

    目录 一 queue 简介 二 queue 构造函数 三 queue 赋值操作 四 queue 数据存取 五 queue 其他操作 六 queue 总结分析 如果这篇文章对你有所帮助 渴望获得你的一个点赞 一 queue 简介 C 中 st
  • 元宇宙通证-二、元宇宙无限游戏的无限正和机遇

    元宇宙无限游戏的无限正和机遇 首先 我们需要为游戏正名 在保守者看了 游戏是互联网时代的 数字毒品 让年轻人沉迷其中无法自拔 在科技进步的推动者看了 游戏并非玩物丧志 而是改变世界的手段 游戏让我们用想象力创造了一个平行宇宙 打开了一个充满
  • 对数据进行删除过程出现invalid character错误

    错误背景 在springmvc mybatis maven项目中 连接oracle对数据进行删除操作报以下错误 DEBUG 2018 12 18 23 10 47 com mchange v2 c3p0 impl DefaultConnec
  • 【HBZ分享】ES的评分score机制的原理

    score类型 基础评分boost 默认2 2 逆向文档频率值 IDF 表示该词再文档中 ES中 出现的次数越多 表示越不重要 评分越低 关键词在文档中出现的频率 TF 表示该词在文档中出现的频率 频率越高表示越重要 评分越高 注意 IDF
  • 震惊,微信小程序可以设置网络字体!真香

    准备工作 获取字体链接 还原设计稿的时候需要用到如下特殊字体 google 的 Montserrat https fonts google com specimen Montserrat 选择这个字体 下载全部字体 将本地的字体文件上传到自
  • 【Kubernetes系列】Workloads(工作负载)

    文章目录 概述 工作负载资源 工作负载生命周期 概述 工作负载是在 Kubernetes 上运行的应用程序 在 Kubernetes 中 无论你的负载是由单个组件还是由多个一同工作的组件构成 你都可以在一组 Pod 中运行它 在 Kuber