kubernetes学习-概念3

工作负载资源

Kubernetes 提供了几个内置的 API 来声明式管理工作负载及其组件。

最终,你的应用以容器的形式在 Pods 中运行; 但是,直接管理单个 Pod 的工作量将会非常繁琐。例如,如果一个 Pod 失败了,你可能希望运行一个新的 Pod 来替换它。Kubernetes 可以为你完成这些操作。

你可以使用 Kubernetes API 创建工作负载对象, 这些对象所表达的是比 Pod 更高级别的抽象概念,Kubernetes 控制平面根据你定义的工作负载对象规约自动管理 Pod 对象。

用于管理工作负载的内置 API 包括:

Deployment (也间接包括 ReplicaSet) 是在集群上运行应用的最常见方式。Deployment 适合在集群上管理无状态应用工作负载, 其中 Deployment 中的任何 Pod 都是可互换的,可以在需要时进行替换。

StatefulSet 允许你管理一个或多个运行相同应用代码、但具有不同身份标识的 Pod。 StatefulSet 与 Deployment 不同。Deployment 中的 Pod 预期是可互换的。 StatefulSet 最常见的用途是能够建立其 Pod 与其持久化存储之间的关联。 例如,你可以运行一个将每个 Pod 关联到 PersistentVolume 的 StatefulSet。如果该 StatefulSet 中的一个 Pod 失败了,Kubernetes 将创建一个新的 Pod, 并连接到相同的 PersistentVolume。

DaemonSet 定义了在特定节点上提供本地设施的 Pod, 例如允许该节点上的容器访问存储系统的驱动。当必须在合适的节点上运行某种驱动或其他节点级别的服务时, 你可以使用 DaemonSet。DaemonSet 中的每个 Pod 执行类似于经典 Unix / POSIX 服务器上的系统守护进程的角色。DaemonSet 可能对集群的操作至关重要, 例如作为插件让该节点访问集群网络, 也可能帮助你管理节点,或者提供增强正在运行的容器平台所需的、不太重要的设施。 你可以在集群的每个节点上运行 DaemonSets(及其 Pod),或者仅在某个子集上运行 (例如,只在安装了 GPU 的节点上安装 GPU 加速驱动)。

你可以使用 Job 和/或 CronJob 定义一次性任务和定时任务。 Job 表示一次性任务,而每个 CronJob 可以根据排期表重复执行。

Deployments

一个 Deployment 为 Pod 和 ReplicaSet 提供声明式的更新能

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
 

在该例中:

  • 创建名为 nginx-deployment(由 .metadata.name 字段标明)的 Deployment。 该名称将成为后续创建 ReplicaSet 和 Pod 的命名基础。

  • 该 Deployment 创建一个 ReplicaSet,它创建三个(由 .spec.replicas 字段标明)Pod 副本。

  • .spec.selector 字段定义所创建的 ReplicaSet 如何查找要管理的 Pod。 在这里,你选择在 Pod 模板中定义的标签(app: nginx

  • template 字段包含以下子字段:
    • Pod 被使用 .metadata.labels 字段打上 app: nginx 标签。
    • Pod 模板规约(即 .template.spec 字段)指示 Pod 运行一个 nginx 容器, 该容器运行版本为 1.14.2 的 nginx Docker Hub 镜像。
    • 创建一个容器并使用 .spec.template.spec.containers[0].name 字段将其命名为 nginx

kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml

kubectl get deployments

在检查集群中的 Deployment 时,所显示的字段有:

  • NAME 列出了名字空间中 Deployment 的名称。
  • READY 显示应用程序的可用的“副本”数。显示的模式是“就绪个数/期望个数”。
  • UP-TO-DATE 显示为了达到期望状态已经更新的副本数。
  • AVAILABLE 显示应用可供用户使用的副本数。
  • AGE 显示应用程序运行的时间。

请注意期望副本数是根据 .spec.replicas 字段设置 3。

要查看 Deployment 上线状态

kubectl rollout status deployment/data-intellegence

kubectl rollout status 是 Kubernetes(K8s) 中的一个命令,用于查看资源的状态。这个命令通常用于查看特定部署(deployment)的状态。

要查看 Deployment 创建的 ReplicaSet(rs),运行 kubectl get rs

ReplicaSet 的名称格式始终为 [Deployment 名称]-[哈希]。 该名称将成为所创建的 Pod 的命名基础。 其中的哈希字符串与 ReplicaSet 上的 pod-template-hash 标签一致。

ReplicaSet是Kubernetes中的一种控制器,用于确保由其管控的Pod对象副本数在任一时刻都能精确满足期望的数量

ReplicaSet的工作原理是通过一组字段来定义的,包括一个用来识别可获得的Pod的集合的选择算符、一个用来标明应该维护的副本个数的数值、一个用来指定应该创建新Pod以满足副本个数条件时要使用的Pod模板等。当需要创建新的Pod时,ReplicaSet会使用所提供的Pod模板。ReplicaSet通过其选择算符来辨识要获得的Pod集合,当前活动对象的数量与期望的数量不吻合时,多则删除,少则通过Pod模板创建以补足,等Pod资源副本数量符合期望值后即进入下一轮和解循环。

要查看每个 Pod 自动生成的标签,运行 kubectl get pods --show-labels

kubectl get pods --show-labels

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/157686.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

水厂消毒的设施设备有哪些

水厂消毒的设施设备主要包括以下几种: 紫外线消毒器:利用紫外线辐射破坏微生物DNA的复制和细胞分裂功能,达到杀灭微生物的目的。紫外线消毒器具有操作简便、效果明显、净化速度快等优点,广泛应用于家庭、学校、饮用水生产企业等场…

振弦传感器表面钢筋计与振弦采集仪组成岩土工程安全监测

振弦传感器表面钢筋计与振弦采集仪组成岩土工程安全监测 振弦传感器表面钢筋计和振弦采集仪可以组成岩土工程安全监测系统,用于监测结构物或岩土体的振动和应变变化情况。具体可以实现以下功能: 1. 振动监测:振弦传感器可以实时监测结构物或…

【数据结构】树与二叉树(十八):树的存储结构——Father链接结构、儿子链表链接结构

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语 5.2 二叉树5.3 树5.3.1 树的存储结构1. 理论基础2. 典型实例 5.3.2 Father链接结构a. 定义树节点结构b. 创建新节点c. 主函数d. 代码整合 5.3.3 儿子链表链接结构a. 定义树节点结构b. 创建新节点c. 添加…

cocos----刚体

刚体(Rigidbody) 刚体(Rigidbody)是运动学(Kinematic)中的一个概念,指在运动中和受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体。在 Unity3D 中&#xff…

2023 OceanBase 年度发布会:砥砺自研,为“关键业务负载”打造一体化数据库

11 月 16 日,2023 OceanBase 年度发布会在京顺利召开。在本次发布会上,OceanBase 对外正式宣布:将持续践行“一体化”新战略,为关键业务负载打造一体化数据库。同时,会上发布一体化数据库的首个长期支持版本 OceanBase…

html在线生成二维码(附源码)

文章目录 1.设计来源1.1 主界面1.2 美化功能 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/134458927 html二维码生成(附源码),生成二…

每天一道算法题(四)——移动零(将数组中的零移到最后面)

文章目录 前言1、问题2、示例3、解决方法(1)方法1(2)方法2(双指针) 前言 提示: 1、问题 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的…

如何选择适合企业的ERP管理系统?

如何选择适合企业的ERP管理系统? 企业业务不断发展和扩大,ERP管理系统已成为企业实现信息化管理、提高工作效率、降低成本的重要工具。然而,市场上ERP管理系统种类繁多,如何选择适合自己企业的ERP管理系统成为了企业面临的难题。…

【测试功能篇 01】Jmeter 压测接口最大并发量、吞吐量、TPS

压力测试,我们针对比较关键的接口,可以进行相应的压力测试,主要还是测试看看接口能抗住多少的请求数,TPS稳定在多少,也就是吞吐量多少 安装 Jmeter的安装很简单,官网下载地址 http://jmeter.apache.org/ &…

UE5 - ArchvizExplorer - 数字孪生城市模板 -学习笔记

1、学习资料 https://www.unrealengine.com/marketplace/zh-CN/product/archviz-explorer https://karldetroit.com/archviz-explorer-documentation/ 官网下载的是一个简单版,需要下载扩展,并拷贝到项目录下,才有完整版 https://drive.googl…

AH8691-60V降压至3.3V电源芯片:ESOP8封装解决方案

AH8691-60V降压至3.3V电源芯片:ESOP8封装解决方案 随着电子设备的日益普及,电源管理芯片的重要性也日益凸显。一款高效率、低功耗的电源芯片可以大大提高电子设备的性能和可靠性。今天,我们将介绍一款60V降压至3.3V电源芯片,采用…

websocket详解

一、什么是Websocket WebSocket 是一种在单个 TCP 连接上进行 全双工 通信的协议,它可以让客户端和服务器之间进行实时的双向通信。 WebSocket 使用一个长连接,在客户端和服务器之间保持持久的连接,从而可以实时地发送和接收数据。 在 Web…

工业镜头中远心镜头的特点

远心镜头 在Z轴(光轴)方向,理论上具有同样成像范围。 消除了透视效应。 消除了渐晕现像。

OpenCV快速入门:像素操作和图像变换

文章目录 前言1. 像素操作1.1 像素统计1.2 两个图像之间的操作1.2.1 图像加法操作1.2.3 图像加权混合 1.3 二值化1.4 LUT(查找表)1.4.1 查找表原理1.4.2 代码演示 2 图像变换2.1 旋转操作2.1.1 旋转的基本原理2.1.2 代码实现 2.2 缩放操作2.3 平移操作2.…

【字符编码系列一】ASCII编码是什么?

介绍 ASCII 编码于 1967 年第一次发布,最后一次更新是在 1986 年,迄今为止共收录了 128 个字符,包含了基本的拉丁字母(英文字母)、阿拉伯数字(也就是 1234567890)、标点符号(,.!等&…

直线插补-逐点比较法

直线插补-逐点比较法 逐点比较法四个节拍的工作流程如图所示举例1 逐点比较法 逐点比较法逐点比较法是通过逐点比较刀具与所需插补曲线之间的相对位置,确定刀具的进给方向,进而加工出工件轮廓的插补方法。刀具从加工起点开始,按照“靠近曲线…

TP_Link WR886N 硬改闪存16M内存64M,刷入openwrt

一、换内存,拆闪存: 1、先原机开机试试是否功能正常; 2、拆机,比较难拆,容易坏外壳; 3、找到内存和闪存,用胶带把边上的小元件,电阻都贴好; 4、加助焊油,用风…

人脸识别4G执法记录仪、一体化智能AI布控球在智慧社区、智能网格中的应用

智慧社区守护者:人脸识别与智能监控技术的融合创新 随着城市的飞速发展和科技的不断进步,智慧社区和智能网格的概念已经成为现代城市管理的一个重要趋势。在这一过程中,人脸识别技术、4G执法记录仪以及一体化智能AI布控球等智能监控设备&…

探索计算机视觉技术的应用前景

计算机视觉技术是人工智能领域中一项至关重要的技术,它通过模拟人类视觉系统的工作原理,使计算机能够以一种类似于人类的方式理解和解释图像和视频。这项技术不仅在学术界受到了广泛关注,而且在商业领域也得到了广泛应用。 计算机视觉技术的应…

Libvirt-Qemu-Kvm 操作手记

(持续更新~) 本文主要用于记录在操作libvirt qemu kvm过程中遇到的问题及原因分析。 Hugepage 让qemu使用大页可以减少tdp的size,一定程度上可以提高性能;使用大页可以用memfd或者file backend。 memfd 操作步骤如下: 在系统中reserv…