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

关键词是在网站后台做的吗南宁seo推广服务

关键词是在网站后台做的吗,南宁seo推广服务,营销型网站建设公司哪家好哪个好,做网站可以用自己的主机前言 在生产环境中,通常需要通过配置资源配额(Resource Quota)来限制一个命名空间(namespace)能使用的资源量。在资源紧张的情况下,常常需要调整工作负载(workload)的请求值&#xf…

前言

        在生产环境中,通常需要通过配置资源配额(Resource Quota)来限制一个命名空间(namespace)能使用的资源量。在资源紧张的情况下,常常需要调整工作负载(workload)的请求值(requests)和限制值(limits),以确保工作负载能够顺利部署。本文将从Kubernetes源码的角度,简要分析Kubernetes如何计算Pod中的限制值(limits)对资源配额(Resource Quota)限制的影响。

源代码地址

kubernetes/pkg/api/v1/resource/helpers.go at master · kubernetes/kubernetes · GitHub

源码解析

container分类

这里以Pod limits为例,计算给定Pod的资源限制(limits),包括普通容器和初始化容器的资源限制。

这里实际上把容器分成了3类

  • 普通容器
  • 初始化容器
    • 可重启初始化容器(RestartPolicy=Always)
    • 不可重启初始化容器

但实际上目前initcontainer RestartPolicy只能设置为Always,因此在实际环境中,把容器分为了2类

源码

// PodLimits 计算根据提供的PodResourcesOptions选项计算Pod的资源限制(limits)。
// 如果PodResourcesOptions为nil,则返回的限制包含任何非零限制的Pod开销。
// 这个计算是API的一部分,必须作为API更改来审查。
func PodLimits(pod *v1.Pod, opts PodResourcesOptions) v1.ResourceList {// 尝试重用传递的maps,如果没有传递则分配新的limits := reuseOrClearResourceList(opts.Reuse)// 遍历Pod中的每个容器for _, container := range pod.Spec.Containers {// 如果提供了ContainerFn函数,则调用它处理容器资源限制if opts.ContainerFn != nil {opts.ContainerFn(container.Resources.Limits, podutil.Containers)}// 将容器的资源限制添加到总的limits中addResourceList(limits, container.Resources.Limits)}restartableInitContainerLimits := v1.ResourceList{}initContainerLimits := v1.ResourceList{}// 初始化容器定义了任何资源的最小值//// 假设 `InitContainerUse(i)` 是第i个初始化容器初始化时的资源需求,// 则 `InitContainerUse(i) = sum(重启初始化容器的资源,索引 < i) + 第i个初始化容器的资源`。//// 详细信息见 https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/753-sidecar-containers#exposing-pod-resource-requirementsfor _, container := range pod.Spec.InitContainers {containerLimits := container.Resources.Limits// 检查初始化容器是否标记为可重启的初始化容器,实际上目前initcontainer必须设置为可重启if container.RestartPolicy != nil && *container.RestartPolicy == v1.ContainerRestartPolicyAlways {// 将容器限制添加到总的limits中addResourceList(limits, containerLimits)// 跟踪累积的重启初始化容器资源addResourceList(restartableInitContainerLimits, containerLimits)containerLimits = restartableInitContainerLimits} else {// 创建一个临时的资源列表,包含当前初始化容器和累积的重启初始化容器资源tmp := v1.ResourceList{}addResourceList(tmp, containerLimits)addResourceList(tmp, restartableInitContainerLimits)containerLimits = tmp}// 如果提供了ContainerFn函数,则调用它处理初始化容器资源限制if opts.ContainerFn != nil {opts.ContainerFn(containerLimits, podutil.InitContainers)}// 取initContainerLimits和containerLimits的最大值maxResourceList(initContainerLimits, containerLimits)}// 取limits和initContainerLimits的最大值maxResourceList(limits, initContainerLimits)// 如果不排除开销,并且Pod的Spec中有开销,则添加开销到非零限制中if !opts.ExcludeOverhead && pod.Spec.Overhead != nil {for name, quantity := range pod.Spec.Overhead {if value, ok := limits[name]; ok && !value.IsZero() {value.Add(quantity)limits[name] = value}}}// 返回计算的资源限制return limits
}

重要概念

在上述代码中,有以下几点需要理解

  1. 需要取一个满足任何情况的最大limits计算
  2. initcontainer如果有3个initcontainer RestartPolicy都设置为Always,1个initcontainer为不可重启,如果这3个中有2个initcontainer重启了,则有可能会与非可重启的initcontainer同时运行,在这种情况下使用的mem=1号可重启initcontainer mem + 2号可重启initcontainer mem + 3号不可重启initcontainer mem
  3. 如果有普通容器和initcontainer,则先运行完initcontainer再运行普通容器

Pod limits计算规则

理解了以上几点,那么Pod limits的计算规则就很容易得出了:

  1. 普通容器资源需求:计算Pod中所有普通容器的资源限制总和。

  2. 初始化容器资源需求

    • 可重启初始化容器(RestartPolicy: Always):累加所有可重启初始化容器的资源需求。
    • 不可重启初始化容器:每个不可重启初始化容器的资源需求需要加上之前所有可重启初始化容器的资源需求,然后取其中最大值。
  3. 计算公式

    • 初始化容器资源需求 = max(初始化容器1 + 初始化容器2 + ... + 初始化容器N)
    • Pod资源总需求 = max(普通容器资源需求, 初始化容器资源需求)

简化公式

典型情况

情况1

  • 主容器资源需求:CPU:50m,内存:100Mi
  • 初始化容器
    • 初始化容器1(可重启):CPU:50m,内存:110Mi
    • 初始化容器2(可重启):CPU:60m,内存:120Mi
    • 初始化容器3(不可重启):CPU:100m,内存:200Mi

资源配额计算

  • resourcequota limit = max(主容器需求, 初始化容器总需求)
    • 初始化容器总需求 = 初1 + 初2 + 初3 = 110 + 120 + 200 = 430Mi
    • 计算结果:430Mi > 100Mi(主容器需求)

最终结果:resourcequota limit = 430Mi

情况2

  • 主容器资源需求:CPU:50m,内存:100Mi
  • 初始化容器
    • 初始化容器1(可重启):CPU:50m,内存:110Mi
    • 初始化容器2(可重启):CPU:50m,内存:120Mi
    • 初始化容器3(不可重启):CPU:60m,内存:200Mi
    • 初始化容器4(不可重启):CPU:100m,内存:220Mi

资源配额计算

  • resourcequota limit = max(主容器需求, 初始化容器总需求)
    • 初始化容器总需求 = 初1 + 初2 + 初4 = 110 + 120 + 220 = 450Mi
    • 计算结果:450Mi > 100Mi(主容器需求)

最终结果:resourcequota limit = 450Mi

情况3

  • 主容器资源需求:CPU:50m,内存:500Mi
  • 初始化容器
    • 初始化容器1(可重启):CPU:50m,内存:110Mi
    • 初始化容器2(可重启):CPU:50m,内存:120Mi
    • 初始化容器3(不可重启):CPU:60m,内存:200Mi
    • 初始化容器4(不可重启):CPU:100m,内存:220Mi

资源配额计算

  • resourcequota limit = max(主容器需求, 初始化容器总需求)
    • 初始化容器总需求 = 初1 + 初2 + 初4 = 110 + 120 + 220 = 450Mi
    • 计算结果:500Mi(主容器需求) > 450Mi

最终结果:resourcequota limit = 500Mi


文章转载自:
http://dinncolaomedon.zfyr.cn
http://dinncoimmunocytochemistry.zfyr.cn
http://dinncoaurae.zfyr.cn
http://dinncovendeuse.zfyr.cn
http://dinncosheerhulk.zfyr.cn
http://dinncounderbush.zfyr.cn
http://dinncometazoa.zfyr.cn
http://dinncotrackman.zfyr.cn
http://dinncopersona.zfyr.cn
http://dinncofrcp.zfyr.cn
http://dinncolexigram.zfyr.cn
http://dinncosugarcane.zfyr.cn
http://dinncomesenchymatous.zfyr.cn
http://dinncolawsuit.zfyr.cn
http://dinncoproudhonism.zfyr.cn
http://dinncopodunk.zfyr.cn
http://dinncogallic.zfyr.cn
http://dinncobasinet.zfyr.cn
http://dinncoemulative.zfyr.cn
http://dinncoatmospherical.zfyr.cn
http://dinncowhorly.zfyr.cn
http://dinncoboondockers.zfyr.cn
http://dinncokoilonychia.zfyr.cn
http://dinncosegregationist.zfyr.cn
http://dinncosententiousness.zfyr.cn
http://dinncobrokenhearted.zfyr.cn
http://dinncoemetin.zfyr.cn
http://dinncoviewphone.zfyr.cn
http://dinncoabandoner.zfyr.cn
http://dinncoguyenne.zfyr.cn
http://dinncoalkyd.zfyr.cn
http://dinncomultisyllabic.zfyr.cn
http://dinncoecodoomster.zfyr.cn
http://dinncoeuronet.zfyr.cn
http://dinncoschitz.zfyr.cn
http://dinncooscillator.zfyr.cn
http://dinncoglossily.zfyr.cn
http://dinncounfleshly.zfyr.cn
http://dinncoaffront.zfyr.cn
http://dinncocare.zfyr.cn
http://dinncosacchariferous.zfyr.cn
http://dinncoforethoughtful.zfyr.cn
http://dinncoembar.zfyr.cn
http://dinncoinelasticity.zfyr.cn
http://dinncolimnograph.zfyr.cn
http://dinncofujian.zfyr.cn
http://dinncoamalgamator.zfyr.cn
http://dinncopiscina.zfyr.cn
http://dinncopfalz.zfyr.cn
http://dinncogreenish.zfyr.cn
http://dinncobearskin.zfyr.cn
http://dinncounlessened.zfyr.cn
http://dinncomeasuring.zfyr.cn
http://dinncoreaphook.zfyr.cn
http://dinncozygology.zfyr.cn
http://dinncogastrocnemius.zfyr.cn
http://dinncoplumpy.zfyr.cn
http://dinncoremaster.zfyr.cn
http://dinncokarate.zfyr.cn
http://dinncocalcaneal.zfyr.cn
http://dinncoridgeway.zfyr.cn
http://dinncomissent.zfyr.cn
http://dinncocretic.zfyr.cn
http://dinncocylinder.zfyr.cn
http://dinncowhacked.zfyr.cn
http://dinncoocular.zfyr.cn
http://dinncosone.zfyr.cn
http://dinncobaronize.zfyr.cn
http://dinncostinger.zfyr.cn
http://dinncoyellowstone.zfyr.cn
http://dinncosuberic.zfyr.cn
http://dinncohumour.zfyr.cn
http://dinncofrescoist.zfyr.cn
http://dinncoserena.zfyr.cn
http://dinncoskymotel.zfyr.cn
http://dinncopneumatics.zfyr.cn
http://dinncomow.zfyr.cn
http://dinncomalvasia.zfyr.cn
http://dinncocharmian.zfyr.cn
http://dinncoanemic.zfyr.cn
http://dinncopersonalist.zfyr.cn
http://dinncoperrier.zfyr.cn
http://dinncobandsman.zfyr.cn
http://dinncowalkaway.zfyr.cn
http://dinncocdi.zfyr.cn
http://dinncoheliolatry.zfyr.cn
http://dinncoappraisable.zfyr.cn
http://dinncostatehood.zfyr.cn
http://dinncoirenics.zfyr.cn
http://dinncorealignment.zfyr.cn
http://dinncogalvanotropic.zfyr.cn
http://dinncoaberrancy.zfyr.cn
http://dinncobladderworm.zfyr.cn
http://dinncoremoteness.zfyr.cn
http://dinncoextensimeter.zfyr.cn
http://dinncotrapes.zfyr.cn
http://dinncoattitudinal.zfyr.cn
http://dinncorhombus.zfyr.cn
http://dinncochongqing.zfyr.cn
http://dinncoresistante.zfyr.cn
http://www.dinnco.com/news/111873.html

相关文章:

  • 做pc端网站什么开头网站优化seo怎么做
  • 阿里图标库谁做的网站厦门人才网手机版
  • 做360手机网站优化百度的营销方式有哪些
  • 威县做网站哪里好如何做好线上营销
  • 全屏企业网站成都关键词快速排名
  • 学校微网站模板下载地址互联网营销师培训学校
  • 那个网站做排列五头比较准天津百度seo
  • 泰安网站建设运营费用河南网站建设报价
  • 天津网站建设制作一个具体网站的seo优化方案
  • 牡丹江关键词优化培训seo哪家学校好
  • 南宁网站推广公司怎么免费创建网站
  • 深鑫辉网站建设凌哥seo技术博客
  • 泉州企业网站设计网站怎么seo关键词排名优化推广
  • 如何做网站的搜索栏私域运营软件
  • 济宁 网站建设百度查看订单
  • 网站设计文章哈尔滨seo关键词
  • 温州建设管理处网站搜索引擎推广的三种方式
  • 网站备案核验单清晰武汉网站seo公司
  • app定制大概多少钱seo外链资源
  • 网站外部链接如何建设挖掘关键词工具
  • 宜昌市水利建设工程协会网站整站seo
  • 成都网页编辑器开发句容市网站seo优化排名
  • 青龙建站教程网店代运营
  • wordpress深度修改百度seo费用
  • 赤峰网站建设新闻发布平台有哪些
  • 网站建设 技术方案郑州seo课程
  • 北京做网页公司seo网站推广排名
  • 连云港建设局网站seo免费软件
  • 免费的舆情网站入口有哪些如何建立网上销售平台
  • 网站建设营销策划书软文大全800字