欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

這篇文章主要介紹了怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

站在用戶的角度思考問題,與客戶深入溝通,找到隆回網(wǎng)站設(shè)計(jì)與隆回網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋隆回地區(qū)。

介 紹

Kubernetes有一個(gè)強(qiáng)大的功能,它能在運(yùn)行的服務(wù)上進(jìn)行編碼并配置彈性伸縮。如果沒有彈性伸縮功能,就很難適應(yīng)部署的擴(kuò)展和滿足SLAs。這一功能稱為Horizontal Pod Autoscaler (HPA)。

為什么使用HPA

使用HPA,您可以根據(jù)資源的使用情況或者自定義的指標(biāo),實(shí)現(xiàn)部署的自動(dòng)擴(kuò)展和縮減,讓部署的規(guī)模接近于實(shí)際服務(wù)的負(fù)載。

HPA可以為您的服務(wù)帶來兩個(gè)直接的幫助:

  1. 在需要計(jì)算和內(nèi)存資源時(shí)提供資源,在不需要時(shí)釋放它們

  2. 按需增加/降低性能以實(shí)現(xiàn)SLA

HPA工作原理

HPA會(huì)根據(jù)監(jiān)測(cè)到的CPU/內(nèi)存利用率(資源指標(biāo)),或基于第三方指標(biāo)應(yīng)用程序(如Prometheus、Datadog等)提供的自定義指標(biāo),自動(dòng)調(diào)整副本控制器、部署或者副本集合的pods數(shù)量(定義最小和最大pods數(shù))。HPA是一種控制回路,它的周期由Kubernetes的controller manager –horizontal-pod-autoscaler-sync-period標(biāo)志控制(默認(rèn)值是30s)。

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

HPA定義

HPA是Kubernetes中彈性伸縮API組下的一個(gè)API資源。當(dāng)前穩(wěn)定的版本是autoscaling/v1,它只提供了對(duì)CPU自動(dòng)縮放的支持。如果您想額外獲得對(duì)內(nèi)存和自定義指標(biāo)的支持,可以使用Beta版本autoscaling/v2beta1。

您可以在HPA API對(duì)象中看到更多信息:https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md#horizontalpodautoscaler-object

在一般情況下HPA是由kubectl來提供支持的??梢允褂胟ubectl進(jìn)行創(chuàng)建、管理和刪除:

創(chuàng)建HPA:

  • 帶有manifest: kubectl create -f <HPA_MANIFEST>

  • 沒有manifest(只支持CPU):kubectl autoscale deployment hello-world –min=2 --man=5 –-cpu-percent=50

獲取hpa信息:

  • 基本信息: kubectl get hpa hello-world

  • 細(xì)節(jié)描述: kubectl describe hpa hello-world

刪除hpa:

  • kubectl delete hpa hello-world

下面是一個(gè)HPA manifest定義的例子:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

這里使用了autoscaling/v2beta1版本,用到了cpu和內(nèi)存指標(biāo)

  • 控制hello-world項(xiàng)目部署的自動(dòng)縮放

  • 定義了副本的最小值1

  • 定義了副本的最大值10

  • 當(dāng)滿足時(shí)調(diào)整大?。?/p>

    CPU使用率超過50%

    內(nèi)存使用超過100Mi

安 裝

在HPA可以在Kubernetes集群上使用之前,有一些元素需要在系統(tǒng)中安裝和配置。

需 求

檢查確定Kubernetes集群服務(wù)正在運(yùn)行并且至少包含了這些標(biāo)志:

  • kube-api: requestheader-client-ca-file

  • kubelet: read-only-port 在端口10255

  • kube-controller: 可選,只在需要和默認(rèn)值不同時(shí)使用

  • horizontal-pod-autoscaler-downscale-delay:”5m0s”

  • horizontal-pod-autoscaler-upscale-delay:”3m0s”

  • horizontal-pod-autoscaler-sync-period: “30s”

對(duì)于RKE,Kubernetes集群定義,請(qǐng)確定您已經(jīng)在服務(wù)部分添加了這些行。如果要在Rancher v2.0.X UI中執(zhí)行此操作,請(qǐng)打開”Cluster options”- “Edit as YAML”并添加下面的定義:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

要部署指標(biāo)服務(wù),您的Kubernetes集群必須要正確配置和部署。

注意:在部署和測(cè)試示例時(shí),本文使用的是Rancher v2.0.6以及k8s v1.10.1集群

資源指標(biāo)

如果HPA想要使用資源指標(biāo),那么就需要用到metrics-server包了,它在Kubernetes集群中的kube-system命名空間里。

按照下面的步驟實(shí)現(xiàn):

  1. 配置kubectl連接到正確的Kubernetes集群

  2. 克隆metrics-server的Github倉(cāng)庫(kù):git clone https://github.com/kubernetes-incubator/metrics-server

  3. 安裝metrics-server包(假設(shè)Kubernetes升級(jí)到了1.8):kubectl create -f metrics-server/deply/1.8+/

  4. 檢查metrics-server是否運(yùn)行正常。在命名空間kube-system可以檢查服務(wù)pod以及日志

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

  1. 檢查是否可以從kubectl訪問指標(biāo)API:如果您要直接訪問Kubernetes集群,請(qǐng)使用kubectl config的服務(wù)器URL,比如‘https://:6443’

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

如果您想通過Rancher訪問Kubernetes集群,那么kubectl config的服務(wù)器URL就要像:https://<RANCHER_URL>/k8s/clusters/<CLUSTER_ID>,即你還要在原本的

API路徑后面加上/k8s/clusters/<CLUSTER_ID>

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

自定義指標(biāo)(Prometheus)

自定義指標(biāo)作為一種資源,可以由許多第三方應(yīng)用程序提供。我們準(zhǔn)備在演示中使用Prometheus。假設(shè)Prometheus已經(jīng)部署在您的Kubernetes集群中了,它可以從pods、節(jié)點(diǎn)、命名空間等等地方獲得正確的指標(biāo),我們將使用Prometheus url,http://prometheus.mycompany.io,它公開于端口80。

Prometheus可以在Rancher v2.0目錄中部署。如果在Kubernetes集群上沒有運(yùn)行,那么就在Rancher目錄中部署它。

如果HPA想要使用Prometheus中的自定義指標(biāo),那么Kubernetes集群上的kube-system命名空間則需要用到k8s-prometheus-adapter。為了方便k8s-prometheus-adapter的安裝,我們將使用banzai-charts提供的Helm chart。

通過下面的步驟可以使用這一chart:

  1. 在k8s集群上初始化helm

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

  1. 從Github倉(cāng)庫(kù)克隆banzai-charts:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

  1. 安裝prometheus-adapter,指定具體的Prometheus URL和端口

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

  1. 檢查prometheus-adapter是否運(yùn)行正常。檢查服務(wù)pod和日志是在kube-system命名空間下

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

  1. 檢查指標(biāo)API是否可以從kubectl進(jìn)行訪問:直接訪問Kubernetes集群,那么kubectl config的服務(wù)器URL就比如https://<K8s_URL>:6443

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

如果是從Rancher進(jìn)行訪問,那么kubectl config的服務(wù)器URL就是https://<RANCHER_URL>/k8s/clusters/<CLUSTER_ID>,需要加上后綴/k8s/clusters/<CLUSTER_ID>

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

ClusterRole和ClusterRoleBinding

默認(rèn)情況下,HPA將嘗試通過用戶的system:anonymous讀取(系統(tǒng)的和自定義的)指標(biāo)。用戶需要定義view-resource-metrics以及view-custom-metrics,而ClusterRole和ClusterRoleBinding將它們分配給system:anonymous來打開對(duì)指標(biāo)的讀取訪問。

要實(shí)現(xiàn)這一點(diǎn),需要下面的步驟:

  1. 配置kubectl正確連接到k8s集群

  2. 復(fù)制ClusterRole和ClusterRoleBinding文件:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

在Kubernetes集群上創(chuàng)建它們(如果你想使用自定義指標(biāo)的話):

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

服務(wù)部署

為了讓HPA正常工作,服務(wù)部署應(yīng)該要有容器的資源請(qǐng)求定義。

我們用一個(gè)hello-world的例子來測(cè)試一下HPA是否正常工作。

我們根據(jù)下面步驟進(jìn)行,第一步,正確配置kubectl連接到k8s集群,第二步,復(fù)制hello-world的部署文件。

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

  1. 在k8s集群上部署它

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

  1. 為資源或者自定義指標(biāo)復(fù)制HPA

  2. 資源指標(biāo):

``` apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: hello-world namespace: default spec: scaleTargetRef: apiVersion: extensions/v1beta1 kind: Deployment name: hello-world minReplicas: 1 maxReplicas: 10 metrics:

  • type: Resource resource:name: cpu targetAverageUtilization: 50

  • type: Resource resource: name: memory targetAverageValue: 1000Mi

  • 自定義指標(biāo)(和資源指標(biāo)一樣,不過需要添加自定義的cpu_system指標(biāo))

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

  1. 獲得HPA信息和描述,并且檢查資源指標(biāo)是否已經(jīng)顯示出來:

資源指標(biāo):

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

自定義指標(biāo):

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

  1. 給我們的服務(wù)產(chǎn)生負(fù)載,進(jìn)行彈性伸縮的測(cè)試。這里可以使用各種各樣的工具(產(chǎn)生負(fù)載),不過這里我們使用https://github.com/rakyll/hey 向hello-world服務(wù)發(fā)出http請(qǐng)求,并觀察彈性伸縮是否正常工作

  2. 觀察自動(dòng)的擴(kuò)縮容

  • 資源指標(biāo):

  • 當(dāng)cpu利用率達(dá)到目標(biāo)比例時(shí),自動(dòng)擴(kuò)展到2個(gè)pods

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

當(dāng)cpu使用率達(dá)到目標(biāo)值horizontal-pod-autoscaler-upscale-delay默認(rèn)超過3分鐘時(shí),擴(kuò)展到3個(gè)pods:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

當(dāng)cpu使用率降到目標(biāo)值horizontal-pod-autoscaler-downscale-delay默認(rèn)超過5分鐘時(shí),縮小到1個(gè)pods:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

自定義指標(biāo):

  • 當(dāng)cpu利用率達(dá)到目標(biāo)時(shí)擴(kuò)展到2個(gè)pods:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

當(dāng)cpu_system利用率限制達(dá)到目標(biāo)值,擴(kuò)展到3個(gè)pods:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

當(dāng)cpu利用率限制達(dá)到目標(biāo)值horizontal-pod-autoscaler-upscale-delay超過3分鐘(默認(rèn)),擴(kuò)展到4個(gè)pods:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

當(dāng)所有的指標(biāo)都低于目標(biāo)值horizontal-pod-autoscaler-downscale-delay 超過5分鐘,自動(dòng)縮小到1個(gè)pods:

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

分享名稱:怎么為Kubernetes配置Pod水平自動(dòng)擴(kuò)展
轉(zhuǎn)載來源:http://aaarwkj.com/article6/jespig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、定制開發(fā)、用戶體驗(yàn)網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
水牛av影视亚洲精品| 国产亚洲精品久久久9| 亚洲精品欧美无人区乱码| 扒开女性毛茸茸的视频| 中文字幕精品一区二区三| 97碰碰视频在线观看| 国产精品对白久久久久粗| 欧美日本道一区二区三区| 久久久久久亚洲av黄床| 狠狠躁夜夜躁人人爽蜜桃| 亚洲理论电影在线观看| 国产精品自拍激情在线观看| 99热这里只有精品最新| 精品国产乱码一区二区三区四区| 色婷婷国产精品高潮呻吟| 国产精品国产精品三级在线观看| 成人免费在线视频不卡| 成年人三级黄色片视频| 日韩专区欧美二区国产| 久久亚洲中文字幕丝袜长腿| 国产又大又爽免费视频| 国产美女极度色诱视频| 把熟睡的少妇弄到高潮| 一区二区三区国产欧美日本| 青青草原成年人免费看| 伊人久久大香线蕉av色婷婷色| 亚洲国产免费一区二区| 日本一区二区在线观看视频| 精品人妻人伦一区二区三区| 高清日本一区二区三区不卡片| 观看亚洲一区二区三区大片| 黄色录像黄色片黄色片| 日本中文字幕在线播放一区| 久久偷拍一区二区三区| 久久中文字幕一区二区三区| 一区二区五区日韩国产| 天堂在线手机av观看| 欧美一区二区三区蜜桃| 日本熟女肥臀一区二区| 国产精品黑丝美女91| 欧美日韩精品人妻二区|