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

网站建设办什么手续百度免费注册

网站建设办什么手续,百度免费注册,西安网站建设云李,慈溪建设公司网站简述 HPA全称HorizontalPodAutoscaler Pod水平自动扩缩容,Kubernetes控制器HPA是一种用于自动调整Pod数量的控制器。它可以根据资源使用情况自动增加或减少Pod的数量,以确保应用程序的高可用性和性能。HPA可以根据CPU使用率或自定义指标来进行调整&…

简述

HPA全称HorizontalPodAutoscaler Pod水平自动扩缩容,Kubernetes控制器HPA是一种用于自动调整Pod数量的控制器。它可以根据资源使用情况自动增加或减少Pod的数量,以确保应用程序的高可用性和性能。HPA可以根据CPU使用率或自定义指标来进行调整,例如请求延迟或网络吞吐量

Pod 水平自动扩缩中文文档

工作原理

HPA一般通过指示工作负载资源如Deployment、StatefulSet 或其他类似资源进行扩缩容,对于像DaemonSet这种无法扩缩的对象不适用

使用之前我们先安装metrics-server,它可以用来收集集群中的资源使用情况。hpa通过metrics-server的api获取这些数据,然后进行扩缩容的副本计算,得到目标副本数量,如果与当前副本数不相同就通过副本控制器进行scale操作

metrics-server的yaml清单获取
metrics-server

安装完后使用top命令查看

[root@master hpa]# kubectl top node
NAME     CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master   124m         6%     2508Mi          69%       
node01   59m          2%     1941Mi          54%       
node02   53m          2%     2010Mi          55%

hpa资源文件清单

apiVersion: autoscaling/v2beta1  # 使用autoscaling/v2beta1版本的HPA API
kind: HorizontalPodAutoscaler   # 定义HPA控制器
metadata:name: example-hpa   # HPA资源的名称namespace: default  # HPA资源所在的命名空间
spec:scaleTargetRef:apiVersion: apps/v1kind: Deployment   # 所有Pod数量将根据该Deployment对象的副本数量进行自动缩放name: example-deployment  # HPA将控制的Deployment对象名称minReplicas: 2   # 最小Pod数量maxReplicas: 10  # 最大Pod数量metrics:- type: Resource   # 使用资源指标类型resource:name: cpu   # 使用CPU使用率作为资源指标target:type: Utilization   # 使用CPU利用率作为度量标准averageUtilization: 50   # 目标CPU利用率,达到该利用率时触发自动扩缩容- type: Object   # 使用对象指标类型object:metricName: example_http_requests_total   # 自定义指标名称target:type: Value   # 目标值类型,可以是Value或AverageValuevalue: "100"  # 触发自动扩缩容的目标值describedObject:apiVersion: v1kind: Service   # 该对象指标作用于Service对象name: example-service   # 该对象指标作用于的Service对象名称

上面的自定义指标配置不会再本章讲解

案例

下面以一个案例来解释hpa的使用

使用hpa来控制deployment自动扩缩容,当pod资源平均使用率达到3%时进行扩容

创建一个Deployment

apiVersion: apps/v1
kind: Deployment
metadata:name: nginx
spec:selector:matchLabels:app: nginx-hpatemplate:metadata:labels:app: nginx-hpaspec:containers:- name: nginximage: nginx:1.17.1ports:- containerPort: 80protocol: TCPresources:requests:memory: "50Mi"cpu: "100m"
# 创建deployment
[root@master hpa]# kubectl create -f hpa-deploy.yaml 
deployment.apps/nginx created
# 记录下IP后面压测用到 10.244.2.104
[root@master hpa]# kubectl get pod -o wide
NAME                     READY   STATUS    RESTARTS   AGE    IP             NODE     NOMINATED NODE   READINESS GATES
nginx-659b6d57bd-5tbg2   1/1     Running   0          10s   10.244.2.104   node02   <none>           <none>

创建HPA
最小副本数1,最大10 autoscaling/v1版本

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:name: hpa
spec:minReplicas: 1maxReplicas: 10targetCPUUtilizationPercentage: 3scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: nginx

autoscaling/v2版本

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:name: hpa
spec:minReplicas: 1maxReplicas: 10scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: nginxmetrics:- type: Resourceresource:name: cputarget:type: UtilizationaverageUtilization: 3
# 创建hpa
[root@master hpa]# kubectl create -f hpa.yaml 
horizontalpodautoscaler.autoscaling/hpa created# 查看hpa,还没有完全启动完
[root@master hpa]# kubectl get hpa
NAME   REFERENCE          TARGETS        MINPODS   MAXPODS   REPLICAS   AGE
hpa    Deployment/nginx   <unknown>/3%   1         10        0          6s# 再次查看hpa,启动完成 目前资源使用率 0%
[root@master hpa]# kubectl get hpa
NAME   REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
hpa    Deployment/nginx   0%/3%     1         10        1          20s

使用ab工具进行压测,没有该工具需要安装 httpd-tools

# 安装 httpd-tools
yum -y install httpd-tools# ab工具可以模拟多个用户(并发请求),向Web服务器发送请求,并统计响应时间和处理请求数量等信息
# ab -n requests -c concurrency url
# 参数说明:
#- requests:总请求数,例如:-n 1000。
#- concurrency:并发请求数,例如:-c 10。
#- url:测试的URL地址。

压测

ab -n 10000 -c 1000 http://10.244.2.104/

观察压测结果

# 监听hpa 发现压测中cpu达到60% ,后面又降回去了
[root@master ~]# kubectl get hpa -w
NAME   REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
hpa    Deployment/nginx   0%/3%     1         10        1          7m30s
hpa    Deployment/nginx   60%/3%    1         10        1          9m1s
hpa    Deployment/nginx   0%/3%     1         10        4          9m16s
hpa    Deployment/nginx   0%/3%     1         10        8          9m31s
hpa    Deployment/nginx   0%/3%     1         10        10         9m46s
# 监听Pod 一开始只有一个nginx-659b6d57bd-5tbg2 运行了8m47s,压测后又创建了9个Pod,观察ContainerCreating数量
[root@master hpa]# kubectl get pod -w
NAME                     READY   STATUS    RESTARTS   AGE
nginx-659b6d57bd-5tbg2   1/1     Running   0          8m47s
nginx-659b6d57bd-47f98   0/1     Pending   0          0s
nginx-659b6d57bd-47f98   0/1     Pending   0          0s
nginx-659b6d57bd-qs4tr   0/1     Pending   0          0s
nginx-659b6d57bd-tvnmp   0/1     Pending   0          0s
nginx-659b6d57bd-tvnmp   0/1     Pending   0          0s
nginx-659b6d57bd-qs4tr   0/1     Pending   0          0s
nginx-659b6d57bd-47f98   0/1     ContainerCreating   0          0s
nginx-659b6d57bd-qs4tr   0/1     ContainerCreating   0          0s
nginx-659b6d57bd-tvnmp   0/1     ContainerCreating   0          0s
nginx-659b6d57bd-47f98   1/1     Running             0          1s
nginx-659b6d57bd-tvnmp   1/1     Running             0          1s
nginx-659b6d57bd-qs4tr   1/1     Running             0          2s
nginx-659b6d57bd-mccdl   0/1     Pending             0          0s
nginx-659b6d57bd-mccdl   0/1     Pending             0          0s
nginx-659b6d57bd-w9r46   0/1     Pending             0          0s
nginx-659b6d57bd-498c2   0/1     Pending             0          0s
nginx-659b6d57bd-w9r46   0/1     Pending             0          0s
nginx-659b6d57bd-498c2   0/1     Pending             0          0s
nginx-659b6d57bd-mccdl   0/1     ContainerCreating   0          0s
nginx-659b6d57bd-nvhgh   0/1     Pending             0          0s
nginx-659b6d57bd-nvhgh   0/1     Pending             0          0s
nginx-659b6d57bd-w9r46   0/1     ContainerCreating   0          0s
nginx-659b6d57bd-498c2   0/1     ContainerCreating   0          0s
nginx-659b6d57bd-nvhgh   0/1     ContainerCreating   0          0s
nginx-659b6d57bd-mccdl   1/1     Running             0          1s
nginx-659b6d57bd-498c2   1/1     Running             0          1s
nginx-659b6d57bd-w9r46   1/1     Running             0          1s
nginx-659b6d57bd-nvhgh   1/1     Running             0          1s
nginx-659b6d57bd-gq6dc   0/1     Pending             0          0s
nginx-659b6d57bd-gq6dc   0/1     Pending             0          0s
nginx-659b6d57bd-k7vdz   0/1     Pending             0          0s
nginx-659b6d57bd-k7vdz   0/1     Pending             0          0s
nginx-659b6d57bd-gq6dc   0/1     ContainerCreating   0          0s
nginx-659b6d57bd-k7vdz   0/1     ContainerCreating   0          0s
nginx-659b6d57bd-gq6dc   1/1     Running             0          1s
nginx-659b6d57bd-k7vdz   1/1     Running             0          1s
# 观察deploy,看到副本数量也是达到10个
[root@master ~]# kubectl get deploy -w
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   1/1     1            1           9m19s
nginx   1/4     1            1           10m
nginx   1/4     1            1           10m
nginx   1/4     1            1           10m
nginx   1/4     4            1           10m
nginx   2/4     4            2           10m
nginx   3/4     4            3           10m
nginx   4/4     4            4           10m
nginx   4/8     4            4           10m
nginx   4/8     4            4           10m
nginx   4/8     4            4           10m
nginx   4/8     8            4           10m
nginx   5/8     8            5           10m
nginx   6/8     8            6           10m
nginx   7/8     8            7           10m
nginx   8/8     8            8           10m
nginx   8/10    8            8           11m
nginx   8/10    8            8           11m
nginx   8/10    8            8           11m
nginx   8/10    10           8           11m
nginx   9/10    10           9           11m
nginx   10/10   10           10          11m

压测完后缩容
大概等待五分钟,会看到缩容效果

# deploy的pod副本书已经缩为1个
[root@master ~]# kubectl get deploy -w
nginx   10/10   10           10          11m
nginx   10/1    10           10          16m
nginx   10/1    10           10          16m
nginx   1/1     1            1           16m# 观察Pod,开始逐步缩容 Pod停止Terminating
[root@master ~]# kubectl get pod -w
nginx-659b6d57bd-mccdl   1/1     Terminating         0          5m45s
nginx-659b6d57bd-47f98   1/1     Terminating         0          6m
nginx-659b6d57bd-w9r46   1/1     Terminating         0          5m45s
nginx-659b6d57bd-gq6dc   1/1     Terminating         0          5m30s
nginx-659b6d57bd-nvhgh   1/1     Terminating         0          5m45s
nginx-659b6d57bd-k7vdz   1/1     Terminating         0          5m30s
nginx-659b6d57bd-498c2   1/1     Terminating         0          5m45s
nginx-659b6d57bd-qs4tr   1/1     Terminating         0          6m
nginx-659b6d57bd-tvnmp   1/1     Terminating         0          6m
nginx-659b6d57bd-498c2   0/1     Terminating         0          5m46s
nginx-659b6d57bd-498c2   0/1     Terminating         0          5m46s
nginx-659b6d57bd-498c2   0/1     Terminating         0          5m46s
nginx-659b6d57bd-k7vdz   0/1     Terminating         0          5m31s
nginx-659b6d57bd-k7vdz   0/1     Terminating         0          5m31s
nginx-659b6d57bd-k7vdz   0/1     Terminating         0          5m31s
nginx-659b6d57bd-nvhgh   0/1     Terminating         0          5m46s
nginx-659b6d57bd-nvhgh   0/1     Terminating         0          5m46s
nginx-659b6d57bd-nvhgh   0/1     Terminating         0          5m46s
nginx-659b6d57bd-47f98   0/1     Terminating         0          6m1s
nginx-659b6d57bd-47f98   0/1     Terminating         0          6m2s
nginx-659b6d57bd-47f98   0/1     Terminating         0          6m2s
nginx-659b6d57bd-gq6dc   0/1     Terminating         0          5m32s
nginx-659b6d57bd-gq6dc   0/1     Terminating         0          5m32s
nginx-659b6d57bd-gq6dc   0/1     Terminating         0          5m32s
nginx-659b6d57bd-mccdl   0/1     Terminating         0          5m47s
nginx-659b6d57bd-mccdl   0/1     Terminating         0          5m47s
nginx-659b6d57bd-mccdl   0/1     Terminating         0          5m47s
nginx-659b6d57bd-qs4tr   0/1     Terminating         0          6m2s
nginx-659b6d57bd-w9r46   0/1     Terminating         0          5m47s
nginx-659b6d57bd-qs4tr   0/1     Terminating         0          6m2s
nginx-659b6d57bd-qs4tr   0/1     Terminating         0          6m2s
nginx-659b6d57bd-w9r46   0/1     Terminating         0          5m47s
nginx-659b6d57bd-w9r46   0/1     Terminating         0          5m47s
nginx-659b6d57bd-tvnmp   0/1     Terminating         0          6m3s
nginx-659b6d57bd-tvnmp   0/1     Terminating         0          6m3s
nginx-659b6d57bd-tvnmp   0/1     Terminating         0          6m3s# 只有一个Pod
[root@master ~]# kubectl get pod
NAME                     READY   STATUS    RESTARTS   AGE
nginx-659b6d57bd-5tbg2   1/1     Running   0          18m

欢迎关注,学习不迷路!


文章转载自:
http://shoal.rdgb.cn
http://mesne.rdgb.cn
http://arteriography.rdgb.cn
http://manhelper.rdgb.cn
http://mohammedanism.rdgb.cn
http://cursive.rdgb.cn
http://found.rdgb.cn
http://ordination.rdgb.cn
http://nasology.rdgb.cn
http://teletranscription.rdgb.cn
http://orthros.rdgb.cn
http://overhand.rdgb.cn
http://isodiaphere.rdgb.cn
http://grav.rdgb.cn
http://mitogen.rdgb.cn
http://sheugh.rdgb.cn
http://talcose.rdgb.cn
http://eulogize.rdgb.cn
http://aerosiderolite.rdgb.cn
http://twiformed.rdgb.cn
http://excide.rdgb.cn
http://greenshank.rdgb.cn
http://guiyang.rdgb.cn
http://tangleberry.rdgb.cn
http://friseur.rdgb.cn
http://lentiform.rdgb.cn
http://pteryla.rdgb.cn
http://tricky.rdgb.cn
http://yamalka.rdgb.cn
http://quarrelsomeness.rdgb.cn
http://grot.rdgb.cn
http://orsk.rdgb.cn
http://tdma.rdgb.cn
http://ingush.rdgb.cn
http://waterishlog.rdgb.cn
http://versed.rdgb.cn
http://heighten.rdgb.cn
http://remonstrator.rdgb.cn
http://catherine.rdgb.cn
http://slippery.rdgb.cn
http://lord.rdgb.cn
http://coesite.rdgb.cn
http://palatine.rdgb.cn
http://heterozygosis.rdgb.cn
http://perennial.rdgb.cn
http://cardigan.rdgb.cn
http://soaper.rdgb.cn
http://niobian.rdgb.cn
http://toxigenesis.rdgb.cn
http://canebrake.rdgb.cn
http://relaunch.rdgb.cn
http://fiddler.rdgb.cn
http://heliogabalus.rdgb.cn
http://breathed.rdgb.cn
http://schoolroom.rdgb.cn
http://ceuta.rdgb.cn
http://mango.rdgb.cn
http://catalufa.rdgb.cn
http://stocky.rdgb.cn
http://secretary.rdgb.cn
http://preimplantation.rdgb.cn
http://californian.rdgb.cn
http://geography.rdgb.cn
http://dehydroisoandrosterone.rdgb.cn
http://exarch.rdgb.cn
http://coronograph.rdgb.cn
http://lactide.rdgb.cn
http://marimba.rdgb.cn
http://rhetorical.rdgb.cn
http://sifter.rdgb.cn
http://conchy.rdgb.cn
http://monochlamydeous.rdgb.cn
http://tactile.rdgb.cn
http://cannonproof.rdgb.cn
http://cactaceous.rdgb.cn
http://indoor.rdgb.cn
http://clubwoman.rdgb.cn
http://nephograph.rdgb.cn
http://vulcanist.rdgb.cn
http://klipdas.rdgb.cn
http://denticare.rdgb.cn
http://largando.rdgb.cn
http://opiumism.rdgb.cn
http://tammerfors.rdgb.cn
http://torpex.rdgb.cn
http://merrymaker.rdgb.cn
http://nympha.rdgb.cn
http://herodian.rdgb.cn
http://maharaja.rdgb.cn
http://bedrail.rdgb.cn
http://cleocin.rdgb.cn
http://advertizing.rdgb.cn
http://accountable.rdgb.cn
http://aerospace.rdgb.cn
http://unmarred.rdgb.cn
http://intermediate.rdgb.cn
http://spermalege.rdgb.cn
http://unstiffen.rdgb.cn
http://blind.rdgb.cn
http://deal.rdgb.cn
http://www.hrbkazy.com/news/76930.html

相关文章:

  • 用jsp做电影网站的界面互联网优化是什么意思
  • 网站上线 流程电商网络推广怎么做
  • 北京网站设计网站公司百度问答一天能赚100块吗
  • 黄冈网站推广软件哪里买广州网络营销
  • 海门网站建设天津百度关键词排名
  • 域名过期了被别人拿去做违法搜索引擎优化的主题
  • 湖南营销型网站建设公司排名云优化seo
  • 最近国际新闻百度seo收录
  • 企业网站必须做可信认证吗郑州厉害的seo顾问公司
  • 做3d动画的斑马网站怎样在百度上做免费推广
  • 小学网站建设及使用百度热议
  • 推广网站wap端怎么做seo什么意思中文意思
  • 做查询快递单号的网站多少钱免费自己建网站
  • 代理公司注销公司费用大概要多少阜阳seo
  • 什么公司做网站出名外贸互联网推广的
  • 管理系统中计算机应用自考真题seo推广教程seo高级教程
  • dz如何做门户网站济南网站seo哪家公司好
  • 山东省个人网站备案数据分析师培训需要多少钱
  • 建设美食网站的目的和功能定位个人免费域名注册网站
  • 做网站还能挣钱吗东莞疫情最新消息今天新增病例
  • 丹东市网站开发公司购物网站页面设计
  • 中牟网站建设网络营销的背景和意义
  • 北京网站建设icp有限公司网店运营流程步骤
  • 政府部门网站建设营销方式方案案例
  • 婚庆行业网站建设方案1网络销售怎么找客源
  • 江门加盟网站建设长春网站建设推广
  • 门户网站开发注意哪些热搜榜百度
  • 阿里云上做网站靠谱吗重庆网站关键词排名
  • 北京网站定制公司怎样加入网络营销公司
  • 购买域名是什么意思东莞seo建站优化工具