飞天使-k8s知识点12-kubernetes散装知识点1-架构有状态资源对象分类

文章目录

        • k8s架构图
          • 有状态和无状态服务
        • 资源和对象
          • 对象规约和状态
        • 资源的对象-资源的分类
        • 元数据型与集群型资源
          • 命名空间

k8s架构图

在这里插入图片描述

有状态和无状态服务
区分有状态和无状态服务有利于维护yaml文件
因为配置不同

在这里插入图片描述

资源和对象
命令行yaml来定义对象
对象规约和状态
规约 spec
描述对象的期望状态状态 status
对象的实际状态
k8s自己维护,尽可能让实际状态和期望状态一样
资源的对象-资源的分类
元空间 
集群之上的一个概念
资源数据描述
每个资源都可以使用元数据集群 
整个k8s集群,包含master和node节点
集群下的所有资源都能够使用命名空间 
集群之下有命名空间,一个集群划分多个命名空间
逻辑意义上的集群,对集群更细致的划分
只能在命名空间内使用 
元数据型与集群型资源
元数据型资源: HPA   PodTemplate LimitRange
HPA 
Horizontal Pod Autoscaler是 Kubernetes 中的一个功能,用于自动调整集群中运行的 pod 的数量。HPA 根据实际的 CPU 利用率或者其他应用提供的自定义指标(如 HTTP 请求的速率)来决定是否需要扩展(增加)或收缩(减少)pod 的数量。HPA 的工作原理是,首先定义一个目标,例如 CPU 利用率为 50%。然后 HPA 会定期(默认为 15 秒)检查 pod 的实际 CPU 利用率。如果实际利用率超过了目标(例如利用率达到了 70%),那么 HPA 就会创建更多的 pod 来分摊负载。反之,如果实际利用率低于目标(例如利用率只有 30%),那么 HPA 就会删除一些 pod,释放资源。HPA 可以帮助你在负载变化时自动调整应用的容量,以此来提高资源利用率和应用的可用性。PodTemplate
在 Kubernetes 中,PodTemplate 是一种模板,它包含了用于创建新 Pod 的规格。PodTemplate 本身并不表示在集群中运行的实体,而是被其他对象,如 ReplicaSet、Job、DaemonSet 等所引用。PodTemplate 包含的 Pod 规格可以包括容器、卷、默认环境变量等信息。当创建一个如 ReplicaSet 或 Job 的对象时,这些对象会引用 PodTemplate,然后生成具有相同配置的 Pod。这种设计模式使得 Kubernetes 可以以一种声明式的方式管理集群。你只需要定义你想要的状态(例如,我想要运行 10 个具有特定容器和环境变量的 Pod),然后 Kubernetes 就会自动创建和管理这些 Pod,以保证集群的实际状态与你定义的期望状态一致。LimitRange
LimitRange 是 Kubernetes 中的一个对象,它用于限制一个命名空间中所有 Pod 或 Container 的资源使用上下限。这些资源包括 CPU、内存、存储、以及 Persistent Volume Claims (PVCs)。LimitRange 可以确保在一个命名空间中,没有单个 Pod 或 Container 能够使用超出限定的资源,防止资源的滥用或者分配不均。比如,你可以设置一个 LimitRange,使得在一个命名空间中,单个 Pod 使用的 CPU 资源不得超过 2 核,内存资源不得超过 2GB。LimitRange 也可以用于为没有特别指定资源请求和资源限制的 Pod 或 Container 设置默认的资源请求和资源限制。这样可以确保这些 Pod 或 Container 在调度时能够得到合理的资源分配。集群级
Namespace
Node
clusterRole
ClusterRoleBinding
Namespace 都有自己的资源配额,可以独立管理,并且 Namespace 中的名称(如 Pod、Service 等)必须在 Namespace 内保持唯一。Node: Node 是 Kubernetes 集群中的一个工作机器,这可以是一个虚拟机或物理机。每个 Node 都有 Kubelet 运行,它负责管理 Node 上的 Pod 和容器,并且与 Kubernetes Master 节点进行通信。ClusterRole: ClusterRole 是一种 Kubernetes 对象,它定义了一组对集群资源的访问权限。ClusterRole 可以被绑定到任何用户或者服务账户,使它们获得定义在 ClusterRole 中的权限。ClusterRoleBinding: ClusterRoleBinding 是一种 Kubernetes 对象,它将 ClusterRole 绑定到用户、组或者服务账户。这意味着,被绑定的用户或者服务账户将获得 ClusterRole 中定义的权限。

在这里插入图片描述

命名空间

在这里插入图片描述

pod
RC、RS与DeploymentPod: 在 Kubernetes 中,Pod 是最小的部署单元。一个 Pod 可以包含一个或多个紧密关联的容器,这些容器共享存储和网络资源。RC (Replication Controller): Replication Controller 是 Kubernetes 的一个核心概念,它负责保证指定数量的 Pod 副本在集群中始终运行。如果有 Pod 停止或者出现故障,Replication Controller 会自动创建新的 Pod 来替代。RS (ReplicaSet): ReplicaSet 是 Replication Controller 的升级版本,它支持更灵活的选择器。和 Replication Controller 一样,ReplicaSet 的主要目的是保证在任何时间点,集群中都有指定数量的 Pod 副本在运行。Deployment: Deployment 是 Kubernetes 中用于描述期望的应用状态的对象。Deployment 会创建和更新 ReplicaSets,并通过 ReplicaSets 来创建和更新 Pods。Deployment 支持滚动更新和回滚,使得应用的更新和回滚变得更加容易。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【wu-lazy-cloud-network】Java自动化内网穿透

项目介绍 wu-lazy-cloud-network 是一款基于(wu-framework-parent)孵化出的项目,内部使用Lazy ORM操作数据库,主要功能是网络穿透,对于没有公网IP的服务进行公网IP映射 使用环境JDK17 Spring Boot 3.0.2 功能 1.内网…

06 MP之自动填充+SQL执行的语句和速度分析

1. 自动填充 在项目中有一些属性,比如常见的创建时间和更新时间可以设置为自动填充。 1.1 实例 需求: 将创建时间和更新时间设置为自动填充, 这样每次插入数据时可以不用理会这两个字段 1.1.1 在数据库增加字段 默认开启驼峰映射 createTime --> create_time…

unity实现第一人称和第三人称

在角色设置两个挂载点,第一人称时,相机放在eys上面,切换第三人称时,放置到3rd节点上面,调整节点位置,达到期望效果 代码 void ThirdView(){Debug.Log("切换到第三人称");camera.SetParent(third…

python-产品篇-游戏-玛丽冒险

文章目录 开发环境要求运行方法代码效果 开发环境要求 本系统的软件开发及运行环境具体如下。 (1)操作系统:Windows 7、Windows 8、Windows 10。 (2)Python版本:Python 3.7.0。 (3)…

C#,奥西里斯数(Osiris Number)的算法与源代码

1 奥西里斯数(Osiris Number) 奥西里斯数(Osiris Number)是一个数字&#xff0c; 其值等于通过将其自身数字的所有排列相加而形成的所有数字的值之和。 计算结果&#xff1a; 2 源程序 using System; namespace Legalsoft.Truffer.Algorithm { /// <summary> /…

商城小程序有搭建开发定制

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 本文简单介绍 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考…

“极简壁纸“爬虫JS逆向·实战

文章目录 声明目标分析确定目标目标检索 代码补全完整代码 爬虫逻辑完整代码 运行结果 声明 本教程只用于交流学习&#xff0c;不可用于商业用途&#xff0c;不可对目标网站进行破坏性请求&#xff0c;请遵守相关法律法规。 目标分析 确定目标 获取图片下载链接 目标检索…

【多模态大模型】视觉大模型SAM:如何使模型能够处理任意图像的分割任务?

SAM&#xff1a;如何使模型能够处理任意图像的分割任务&#xff1f; 核心思想起始问题: 如何使模型能够处理任意图像的分割任务&#xff1f;5why分析5so分析 总结子问题1: 如何编码输入图像以适应分割任务&#xff1f;子问题2: 如何处理各种形式的分割提示&#xff1f;子问题3:…

创新方案|经济下行周期下企业避免杀价内卷侵蚀利润亟需5种创新定价策略

随着通胀持续、全球经济衰退逆风让消费者谨慎支出&#xff0c;绝大多数企业都担心如何刺激购买且保持利润率。在本研究认为&#xff0c;公司不应该简单地调整价格&#xff0c;而应该创造性地借鉴其他行业定价打法&#xff0c;通过创新定价选项的组合&#xff0c;增加向客户计价…

【Web】小白也能看懂的BeginCTF个人wp(全)

纯萌新&#xff0c;贴出自己的wp&#xff0c;一起交流学习QWQ 目录 zupload zupload-pro zupload-pro-plus zupload-pro-plus-max zupload-pro-plus-max-ultra zupload-pro-plus-max-ultra-premium zupload-pro-revenge zupload-pro-plus-enhanced POPgadget sql教…

计算机设计大赛 深度学习+python+opencv实现动物识别 - 图像识别

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 inception_v3网络5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; *…

Go 中如何检查文件是否存在?可能产生竞态条件?

嗨&#xff0c;大家好&#xff01;本文是系列文章 Go 技巧第十三篇&#xff0c;系列文章查看&#xff1a;Go 语言技巧。 Go 中如何检查文件是否存在呢&#xff1f; 如果你用的是 Python&#xff0c;可通过标准库中 os.path.exists 函数实现。遗憾的是&#xff0c;Go 标准库没有…