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

网站开发哪里便宜上海网站建设服务市价

网站开发哪里便宜,上海网站建设服务市价,矿山建设工程公司网站,媒体发稿公司介绍 HPA#xff08;Horizontal Pod Autoscaler#xff09;水平扩缩意味着可根据观察到的CPU、内存使用率或自定义度量标准来自动扩展或缩容Pod的数量#xff08;Deployment、StatefulSet 或其他类似资源#xff09;。与“垂直”扩缩不同#xff0c;对于 K8S#xff0c;…介绍 HPAHorizontal Pod Autoscaler水平扩缩意味着可根据观察到的CPU、内存使用率或自定义度量标准来自动扩展或缩容Pod的数量Deployment、StatefulSet 或其他类似资源。与“垂直”扩缩不同对于 K8S 垂直扩缩意味着将更多资源例如内存或 CPU分配给已经为工作负载运行的 Pod。HPA不适用于无法缩放的对象。例如DaemonSet 安装Metrics Server 要实现HPA自动扩缩容需要安装Metrics Server插件 Metrics Server 官网根据自己K8S版本安装合适的插件。 kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml安装好以后测试如下 [rootmaster01 ~]# kubectl top po -n kube-system NAME CPU(cores) MEMORY(bytes) calico-kube-controllers-54cbfb689f-stf9f 3m 44Mi calico-node-2v2pk 20m 178Mi calico-node-djvsw 23m 201Mi calico-node-gfjw9 26m 182Mi calico-node-hhsnx 24m 176Mi calico-node-z9mrv 28m 170Mi coredns-65599ffb58-jx78h 2m 23Mi metrics-server-6b7745d9f-dfk7f 5m 36Mi 部署 php-apache 服务 为了演示 HPA首先启动一个 Deployment 用 hpa-example 镜像运行一个容器 apiVersion: apps/v1 kind: Deployment metadata:name: php-apache spec:selector:matchLabels:run: php-apachetemplate:metadata:labels:run: php-apachespec:containers:- name: php-apacheimage: deis/hpa-exampleports:- containerPort: 80resources:limits:cpu: 500mrequests:cpu: 200m --- apiVersion: v1 kind: Service metadata:name: php-apachelabels:run: php-apache spec:ports:- port: 80selector:run: php-apache创建 HPA 使用 kubectl 创建自动扩缩器。 kubectl autoscale 创建 HPA 的命令 该 HPA 维护由你在这些说明的第一步中创建的 php-apache Deployment 控制的 Pod 存在 1 到 20 个副本。 创建HPA 目前支持的资源度量指标为CPU和内存并且基本都是用CPU内存在有一些java项目上面会有问题比如Java项目访问量激增以后内存使用率上去了但是访问量下来以后内存使用率并不会下来。 # 基于CPU使用率扩容的 kubectl autoscale deployment php-apache --cpu-percent50 --min1 --max20查看创建的HPA [rootmaster01 ~]# kubectl get hpa NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE php-apache Deployment/php-apache 0%/50% 1 20 1 24s注意当前的 CPU 利用率是 0%这是由于我们尚未发送任何请求到服务器 TARGET 列显示了相应 Deployment 所控制的所有 Pod 的平均 CPU 利用率。 增加负载 启动一个不同的 Pod 作为客户端。 客户端 Pod 中的容器在无限循环中运行向 php-apache 服务发送查询。 # 在单独的终端中运行它 # 以便负载生成继续你可以继续执行其余步骤 kubectl run -i --tty load-generator --rm --imagebusybox:1.28 --restartNever -- /bin/sh -c while sleep 0.01; do wget -q -O- http://php-apache; done测试完以后按 CtrlC 结束 kubectl get hpa php-apache -w负载升高HPA自动扩容 [rootmaster01 ~]# kubectl get hpa -w NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE php-apache Deployment/php-apache 49%/50% 1 20 1 6m22s php-apache Deployment/php-apache 250%/50% 1 20 1 6m30s php-apache Deployment/php-apache 250%/50% 1 20 4 6m45s php-apache Deployment/php-apache 250%/50% 1 20 5 7m php-apache Deployment/php-apache 251%/50% 1 20 5 7m15s php-apache Deployment/php-apache 249%/50% 1 20 5 7m30s结束请求以后自动缩容 一旦 CPU 利用率降至 0HPA 会自动将副本数缩减为 1。自动扩缩完成副本数量的改变可能需要几分钟的时间。 [rootmaster01 ~]# kubectl get hpa -n apps -w NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE php-apache Deployment/php-apache 49%/50% 1 20 1 6m22s php-apache Deployment/php-apache 250%/50% 1 20 1 6m30s php-apache Deployment/php-apache 250%/50% 1 20 4 6m45s php-apache Deployment/php-apache 250%/50% 1 20 5 7m php-apache Deployment/php-apache 251%/50% 1 20 5 7m15s php-apache Deployment/php-apache 249%/50% 1 20 5 7m30s php-apache Deployment/php-apache 124%/50% 1 20 5 7m45s php-apache Deployment/php-apache 0%/50% 1 20 4 8m15s php-apache Deployment/php-apache 0%/50% 1 20 4 12m php-apache Deployment/php-apache 0%/50% 1 20 2 12m php-apache Deployment/php-apache 1%/50% 1 20 1 13m查看生成的HPA yaml文件 查看命令 kubectl get hpa php-apache -oyamlHPA yaml 文件 apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler # 资源类型 metadata:name: php-apache # HPA对象的名称是php-apache spec:maxReplicas: 20 # 指定了可以扩展到的最大Pod数量这里是20个metrics:- resource:name: cpu # 度量标准的名称是CPU target:averageUtilization: 50 # 目标CPU利用率是50%type: Utilization # 度量标准的类型是利用率type: ResourceminReplicas: 1 # 这指定了可以扩展到的最小Pod数量这里是1个scaleTargetRef:apiVersion: apps/v1 # Deployment对象的API版本kind: Deployment # 目标资源的类型是Deploymentname: php-apache # 目标资源的名称是php-apache基于多项度量指标和自定义度量指标自动扩缩 Pod 度量指标 这些指标从某一方面描述了 Pod 在不同 Pod 之间进行平均并通过与一个目标值比对来确定副本的数量。 它们的工作方式与资源度量指标非常相像只是它们仅支持 target 类型为 AverageValue。 type: Pods pods:metric:name: packets-per-secondtarget:type: AverageValueaverageValue: 1kObject 度量指标 这些度量指标用于描述在相同名字空间中的别的对象而非 Pod。 注意这些度量指标不一定来自某对象它们仅用于描述这些对象。 对象度量指标支持的 target 类型包括 Value 和 AverageValue。 如果是 Value 类型target 值将直接与 API 返回的度量指标比较 而对于 AverageValue 类型API 返回的度量值将按照 Pod 数量拆分 然后再与 target 值比较。 下面的 YAML 文件展示了一个表示 requests-per-second 的度量指标。 type: Object object:metric:name: requests-per-seconddescribedObject:apiVersion: networking.k8s.io/v1kind: Ingressname: main-routetarget:type: Valuevalue: 2k基于Ingress的请求速率这样的度量标准您可能需要实现一个自定义metrics API该API能够监控Ingress对象的请求速率并将这些数据暴露给Kubernetes的metrics server或HPA。然后您可以在HPA的配置中引用这个自定义度量标准以便根据Ingress的请求速率来自动扩展Pod。 示例 如果你指定了多个上述类型的度量指标HorizontalPodAutoscaler 将会依次考量各个指标。 HorizontalPodAutoscaler 将会计算每一个指标所提议的副本数量然后最终选择一个最高值。 比如如果你的监控系统能够提供网络流量数据你可以通过 kubectl edit 命令将上述 Horizontal Pod Autoscaler 的定义更改为 apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata:name: php-apache spec:scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: php-apacheminReplicas: 1maxReplicas: 10metrics:- type: Resourceresource:name: cputarget:type: UtilizationaverageUtilization: 50 # CPU使用率- type: Podspods:metric:name: packets-per-secondtarget:type: AverageValueaverageValue: 1k # 每秒请求1000个数据包- type: Objectobject:metric:name: requests-per-seconddescribedObject:apiVersion: networking.k8s.io/v1kind: Ingressname: main-routetarget:type: Valuevalue: 10k # 请求服务总数达到每秒10000次这样你的 HorizontalPodAutoscaler 将会尝试确保每个 Pod 的 CPU 利用率在 50% 以内 每秒能够服务 1000 个数据包请求 并确保所有在 Ingress 后的 Pod 每秒能够服务的请求总数达到 10000 个。 基于与 K8S 对象无关的度量指标 例如如果你的应用程序处理来自主机上消息队列的任务 为了让每 30 个任务有 1 个工作者实例你可以将下面的内容添加到 HorizontalPodAutoscaler 的配置中。 - type: Externalexternal:metric:name: queue_messages_readyselector:matchLabels:queue: worker_taskstarget:type: AverageValueaverageValue: 30推荐使用定制度量指标而不是外部度量指标因为这便于让系统管理员加固定制度量指标 API。 而外部度量指标 API 可以允许访问所有的度量指标。 当暴露这些服务时系统管理员需要仔细考虑这个问题。
http://www.hkea.cn/news/14568050/

相关文章:

  • 北京网站建设 shwl网站建设教程多少钱
  • 企业网站产品内页优化风铃网做微网站要钱吗
  • 网页制作网站建设实战大全小企业一键做网站
  • 网站关键词描述重庆建设工程信息网怎么查证
  • 网站开发目的和意义企业网站前端建设
  • 宁波比较好的网站公司ztjs
  • wordpress会员推广下载支付插件哈尔滨关键词优化排名
  • 成品人和精品人的区别在哪约上海搜索排名优化
  • 有在网上找做网站的人么织梦网站栏目无法生成
  • 1号网站建设科技类网站设计
  • 网站备案信息更改审核要多久做网站的分辨率
  • 织梦做信息分类网站中山公司注册
  • 智能网站建设系统模板ppt免费
  • seo网站推广seo网加商学院网站怎么做
  • 企业网站报价模板天津市建设
  • 做网店装修的网站有哪些ui设计培训多少钱
  • 深圳建站公司企业职业培训机构管理系统
  • 帮做钓鱼网站会怎样百城建设提质工程网站
  • 惠州住房和城乡建设部网站嘉定房产网站建设
  • 用word 做网站工厂管理培训课程
  • 无锡网站建设制作公司怎么建立视频网站
  • 青岛李村网站设计公司广州建网站
  • 网站怎么去优化云南通耀建设工程有限公司网站
  • 郑州做商城网站公司百度翻译api wordpress
  • 手机在线网站电商设计工资
  • 国内做服装的网站有哪些顺德营销型网站一站式服务哪家好
  • 莱芜网站优化是什么安阳信息网
  • 个性化的个人网站广告公司管理制度
  • 凡科app制作网站关键词优化公司哪家好
  • icp网站备案密码找回网站模块报价