日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HPA集群控制器

發(fā)布時間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HPA集群控制器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Horizontal Pod Autoscaling,簡稱HPA,是Kubernetes中實現(xiàn)POD水平自動伸縮的功能,HPA可以可以基于CPU利用率或其他應用程序提供的度量指標自動縮放POD的數(shù)量

Pod水平自動伸縮特性由Kubernetes API資源和控制器實現(xiàn),資源決定了控制器的行為。控制器會周期性的獲取平均率,并與目標值相比較后來調(diào)整副本數(shù)量

限制

-不適合用于無法伸縮的對象,比如:DaemonSets

資源控制器創(chuàng)建

[root@master ~]# vim myhpa.yaml --- apiVersion: apps/v1 kind: Deployment metadata:name: myweb #集群名稱 spec:selector:matchLabels:app: apache #后端標簽app:apachereplicas: 1 #只有1個PODtemplate:metadata:labels:app: apache #標簽spec:containers:- name: apacheimage: 192.168.1.100:5000/myos:httpdports:- containerPort: 80 resources: #計算此計算器所需的資源requests: #描述所需的最小計算資源量cpu: 200m #計量單位,可以看作100millirestartPolicy: Always--- apiVersion: v1 kind: Service metadata:name: web-service spec:ports:- protocol: TCPport: 80targetPort: 80selector:app: apachetype: ClusterIP--- apiVersion: extensions/v1beta1 kind: Ingress metadata:name: my-appannotations:kubernetes.io/ingress.class: "nginx" spec:backend:serviceName: web-serviceservicePort: 80--- apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler #HPA資源內(nèi)型 metadata:name: myweb #HPA名稱 spec: minReplicas: 1 #最小保留POD數(shù)量maxReplicas: 3 #最大保留POD數(shù)量scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: myweb #監(jiān)視deployment名稱targetCPUUtilizationPercentage: 50 #CPU度量值 [root@master ~]# kubectl apply -f hpa-example.yaml [root@master ~]# kubectl get hpa NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE myweb Deployment/myweb 0%/50% 1 3 1 15m

當容器的cpu占用超過 50% 的時候,自動擴展一個POD,依次擴展,一直到最大值

如果cpu訪問不足 50% 的時候,每 300s 縮減一個 POD 節(jié)點,直到最小值時停止

訪問測試可以使用鏡像內(nèi)提供的 info.php增加系統(tǒng)負載,從而查看狀態(tài)信息

訪問地址? http://ip.xx.xx.xx/info.php?id=1000000

[root@master ~]# kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.254.0.1 <none> 443/TCP 5d19h myapache ClusterIP 10.254.105.21 <none> 80/TCP 4d1h myheadless ClusterIP None <none> 80/TCP 3d23h mynodeport NodePort 10.254.207.195 <none> 80:31341/TCP 3d23h web-service ClusterIP 10.254.196.125 <none> 80/TCP 7m23s [root@master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE myweb-7f89fc7b66-99xfx 1/1 Running 0 115s myweb-7f89fc7b66-lvrhs 1/1 Running 0 7m29s [root@master ~]# kubectl get hpa NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE myweb Deployment/myweb 70%/50% 1 3 2 7m34s [root@master ~]# [root@master ~]# kubectl get hpa -w #時實觀看

總結

以上是生活随笔為你收集整理的HPA集群控制器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。