共計(jì) 931 個字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
丸趣 TV 小編給大家分享一下 kubernetes 中如何實(shí)現(xiàn) Pod 自動擴(kuò)容與縮容,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
一:簡介
Kubernetes 通過 HPA 控制器,用于實(shí)現(xiàn)基本 CPU 使用率進(jìn)行自動 Pod 擴(kuò)容和縮容的功能。HAP 控制器基于 Master 的 Kube-controller-manager 服務(wù)啟動參數(shù) –horizontal-pod-autoscaler-sync-period 定義的時長(默認(rèn)值為 30s), 周期性地檢測目標(biāo) Pod 的 CPU 使用率,并在滿足條件時對 ReplicationController 或 Deployment 中的 Pod 副本數(shù)量進(jìn)行調(diào)整,以符合用戶定義的平均 Pod CPU 使用率。Pod CPU 使用率來源于 Heapster 組件,所有需要預(yù)先安裝好 Heapster.
二:HPA 的創(chuàng)建
創(chuàng)建 HPA 時可以使用 kubectl autoscale 命令進(jìn)行快速創(chuàng)建或者使用 Yaml 配置文件進(jìn)行創(chuàng)建,在創(chuàng)建 HPA 之前,需要已經(jīng)存在一個 Deployment/RC 對象,并且該 Deployment/RC 中的 Pod 必須定義 resources.requests.cpu 的資源請求值,如果不設(shè)置該值,則 Heapster 將無法采集到 Pod 的 CPU 使用情況,會導(dǎo)致 HPA 無法正常工作。
舉例:
1.kubectl autoscale deployment php-apache –min=1 –max=10 –cpu-percent=50
2. 通過 yaml 文件創(chuàng)建
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: php-apache
spec:
scaleTargetRef:
apiVersion: apps/v1beta1
kind: Deployment
name: php-apache
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 50
看完了這篇文章,相信你對“kubernetes 中如何實(shí)現(xiàn) Pod 自動擴(kuò)容與縮容”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!