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

飞天使-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.lryc.cn/news/294967.html

相关文章:

  • mhz_c1f
  • Excel——高级筛选匹配条件提取数据
  • Python初学者学习记录——python基础综合案例:数据可视化——动态柱状图
  • 1.27马尔科夫链,抽样蒙特卡洛模拟(逆转化方法,接受拒绝矩阵),马尔科夫链蒙特卡洛MCMC,隐马尔科夫(HMM(V算法剪枝优化),NLP)
  • MC34063异常发热分析
  • 获取真实 IP 地址(一):判断是否使用 CDN(附链接)
  • 跨越财务困境,聚道云软件连接器如何助力企业轻松实现数字化转型?
  • Python接口自动化测试框架运行原理及流程
  • strtok的使用
  • 0206作业
  • 数据结构-栈
  • CentOS7搭建k8s-v1.28.6集群详情
  • Android实现底部导航栏方法(Navigation篇)
  • python 爬虫篇(1)---->re正则的详细讲解(附带演示代码)
  • (超详细)10-YOLOV5改进-替换CIou为Wise-IoU
  • Java-并发高频面试题-2
  • Windows安装Redis
  • Nicn的刷题日常之 有序序列判断
  • 1、将 ChatGPT 集成到数据科学工作流程中:提示和最佳实践
  • vite+vue3发布自己的npm组件+工具函数
  • 嵌入式软件bug分析基本要求
  • 【C/C++ 17】继承
  • 解决Linux Shell脚本错误:“/bin/bash^M: bad interpreter: No such file or directory”
  • idea创建spring项目
  • 【UE 材质】扇形材质
  • 【react native】ScrollView的触摸事件与TouchableWithoutFeedback的点击事件冲突
  • 鸿蒙内核框架
  • 幻兽帕鲁专用服务器,多人游戏(专用服务器)搭建
  • 7000字详解Spring Boot项目集成RabbitMQ实战以及坑点分析
  • AJAX-认识URL