飞天使-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与Deployment

Pod: 在 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 支持滚动更新和回滚,使得应用的更新和回滚变得更加容易。


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

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

相关文章

Unity_修改天空球

Unity_修改天空球 Unity循序渐进的深入会发现可以改变的其实很多,剖开代码逻辑,可视化的表现对于吸引客户的眼球是很重要的。尤其对于知之甚少的客户,代码一般很难说服客户,然表现确很容易。 非代码色彩通才,持续学习…

洞悉未来,解锁因果:2023年DataFunSummit因果推断在线峰会全景解读

随着大数据和人工智能的飞速发展,因果推断作为连接数据与决策的桥梁,正日益受到各行业的广泛关注。 在这样的背景下,2023年DataFunSummit因果推断在线峰会如期而至,汇聚了众多业界领袖和专家学者,共同探讨因果推断的最…

【Java从入门到精通】Java注释

Java 注释 在计算机语言中,注释是计算机语言的一个重要组成部分,用于在源代码中解释代码的作用,可以增强程序的可读性,可维护性。 Java 注释是一种在 Java 程序中用于提供代码功能说明的文本。 注释不会被编译器包含在最终的可…

FANUC机器人如何清除示教器右上角的白色感叹号?

FANUC机器人如何清除示教器右上角的白色感叹号? 如下图所示,示教器上显示白色的感叹号,如何清除呢? 具体可参考以下步骤: 按下示教器上白色的“i”键,如下图所示, 如下图所示,按…

Linux截图快捷键以及修改快捷键方式

1. 截图快捷键 初始快捷键如下 全屏截图并保存:AltPrint 选区截图并保存:ShiftPrint 全屏截图并复制到剪贴板:AltCtrlPrint 选区截图并复制到剪贴板:ShiftCtrlPrint 会保存到Pictures文件夹下面 2. 修改快捷键 打开Settings界面…

一文了解 ArrayList 的扩容机制

了解 ArrayList 在 Java 中常用集合类之间的关系如下图所示: 从图中可以看出 ArrayList 是实现了 List 接口,并是一个可扩容数组(动态数组),它的内部是基于数组实现的。它的源码定义如下: public class A…

BEV感知算法学习

BEV感知算法学习 3D目标检测系列 Mono3D(Monocular 3D Object Detection for Autonomous Driving) 流程: 通过在地平面上假设先验,在3D空间中对具有典型物理尺寸的候选边界框进行采样;然后我们将这些方框投影到图像平面上,从而避…

Android平台GB28181设备接入模块实现后台service按需回传摄像头数据到国标平台侧

技术背景 我们在做Android平台GB28181设备对接模块的时候,遇到这样的技术需求,开发者希望能以后台服务的形式运行程序,国标平台侧没有视频回传请求的时候,仅保持信令链接,有发起视频回传请求或语音广播时,…

安卓动态链接库文件体积优化探索实践

背景介绍 应用安装包的体积影响着用户下载量、安装时长、用户磁盘占用量等多个方面,据Google Play统计,应用体积每增加6MB,安装的转化率将下降1%。 安装包的体积受诸多方面影响,针对dex、资源文件、so文件都有不同的优化策略&…

TOP100-二叉数

1.94. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入&#xf…

计算机网络_1.5 计算机网络的性能指标

1.5 计算机网络的性能指标 一、总览二、常用的八个计算机网络性能指标1、速率(1)数据量(2)速率(3)数据量与速率中K、M、G、T的数值辨析(4)【练习1】计算发送数据块的所需时间 2、带宽…

活锁方案与自旋锁

问题 如何设置获取互斥量时的等待时间? 如果等待超时,如何避免死锁? 避免死锁 -- 设置等待超时 解决方案: 1、尝试获取第 1 个互斥量: 若成功,则转 2 执行;若失败,则等待&#x…

idea开发工具的简单使用与常见问题

1、配置git 选择左上角目录file->setting 打开,Version Control 目录下Git,选择git安装目录下的git.exe文件; 点击test,出现git版本,则表示git识别成功,点击右下角确认即可生效。 2、配置node.js 选…

大创项目推荐 题目:基于深度学习的图像风格迁移 - [ 卷积神经网络 机器视觉 ]

文章目录 0 简介1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 简介 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习卷积神经网络的花卉识别 该项目较为新颖,适合作为竞赛课题方向&#xff0c…

为什么(如何)从 Java 8/11 迁移到 Java 21,从 Spring Boot 2 迁移到最新的 Spring Boot 3.2 ?

介绍 如果您的工作配置与 Java 有一定的关系,您一定已经注意到 了Java 最新稳定版本 Java 21 引起了很多关注。 这个新版本引入了一些未来的功能,改进了之前引入/孵化的一些突破性功能,弃用了多余的功能,并删除了一些错误。它使…

【工具】Android|Android Studio 长颈鹿版本安装下载使用详解

版本:2022.3.1.22, https://redirector.gvt1.com/edgedl/android/studio/install/2022.3.1.22/android-studio-2022.3.1.22-windows.exe 前言 笔者曾多次安装并卸载Android Studio,反复被安卓模拟器劝退。现在差不多是第三次安装&#xff0c…

【Java八股面试系列】JVM-垃圾回收

目录 垃圾回收 堆空间的基本结构 内存分配和回收原则 分代收集机制 Minor GC 流程 空间分配担保 老年代 大对象直接进入老年代 长期存活的对象将进入老年代 GC的区域 对象存活判定算法 引用计数法 可达性分析算法 finalize() 字符串常量判活 类判活 垃圾回收算…

ChatGPT 4.0 升级指南, ChatGPT Plus(GPT 4.0) 有何优势?

1.ChatGPT 是什么? ChatGPT 是由 OpenAI 开发的一种基于人工智能的聊天机器人,它基于强大的语言处理模型 GPT(Generative Pre-trained Transformer)构建。它能够理解人类语言,可以为我们解决实际的问题。 ChatGPT 4.…

5 款提升 UI 设计效率的软件工具

你知道如何选择正确的UI设计软件吗?你知道设计漂亮的用户界面和带来良好用户体验的应用程序需要什么界面设计软件吗?基于APP界面的不同功能,所选择的APP界面设计软件也会有所不同。然而,并不是说所有的APP界面设计软件都非常精通&…

【CSS】页面自适应屏幕宽度(响应式布局媒体查询-@media、弹性布局、网格布局和相对单位-vh/em/%)

【CSS】页面自适应屏幕宽度(响应式布局媒体查询-media、弹性布局、网格布局和相对单位-vh/em/%) 一、媒体查询(media)1、媒体类型2、媒体特征3、媒体查询语法4、示例(1)示例1(2)示例…