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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 2 应用级扩缩容

發(fā)布時(shí)間:2024/9/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 2 应用级扩缩容 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡(jiǎn)介:應(yīng)用級(jí)擴(kuò)縮容是相對(duì)于運(yùn)維級(jí)而言的。像監(jiān)控CPU/內(nèi)存的利用率就屬于應(yīng)用無(wú)關(guān)的純運(yùn)維指標(biāo),針對(duì)這種指標(biāo)進(jìn)行擴(kuò)縮容的HPA配置就是運(yùn)維級(jí)擴(kuò)縮容。而像請(qǐng)求數(shù)量、請(qǐng)求延遲、P99分布等指標(biāo)就屬于應(yīng)用相關(guān)的,或者叫業(yè)務(wù)感知的監(jiān)控指標(biāo)。 本篇將介紹3種應(yīng)用級(jí)監(jiān)控指標(biāo)在HPA中的配置,以實(shí)現(xiàn)應(yīng)用級(jí)自動(dòng)擴(kuò)縮容。

應(yīng)用級(jí)擴(kuò)縮容是相對(duì)于運(yùn)維級(jí)而言的。像監(jiān)控CPU/內(nèi)存的利用率就屬于應(yīng)用無(wú)關(guān)的純運(yùn)維指標(biāo),針對(duì)這種指標(biāo)進(jìn)行擴(kuò)縮容的HPA配置就是運(yùn)維級(jí)擴(kuò)縮容。而像請(qǐng)求數(shù)量、請(qǐng)求延遲、P99分布等指標(biāo)就屬于應(yīng)用相關(guān)的,或者叫業(yè)務(wù)感知的監(jiān)控指標(biāo)。

本篇將介紹3種應(yīng)用級(jí)監(jiān)控指標(biāo)在HPA中的配置,以實(shí)現(xiàn)應(yīng)用級(jí)自動(dòng)擴(kuò)縮容。

Setup HPA

1 部署metrics-adapter

執(zhí)行如下命令部署kube-metrics-adapter(完整腳本參見(jiàn):demo_hpa.sh)。:

helm --kubeconfig "$USER_CONFIG" -n kube-system install asm-custom-metrics \$KUBE_METRICS_ADAPTER_SRC/deploy/charts/kube-metrics-adapter \--set prometheus.url=http://prometheus.istio-system.svc:9090

執(zhí)行如下命令驗(yàn)證部署情況:

#驗(yàn)證POD kubectl --kubeconfig "$USER_CONFIG" get po -n kube-system | grep metrics-adapterasm-custom-metrics-kube-metrics-adapter-6fb4949988-ht8pv 1/1 Running 0 30s#驗(yàn)證CRD kubectl --kubeconfig "$USER_CONFIG" api-versions | grep "autoscaling/v2beta"autoscaling/v2beta1 autoscaling/v2beta2#驗(yàn)證CRD kubectl --kubeconfig "$USER_CONFIG" get --raw "/apis/external.metrics.k8s.io/v1beta1" | jq .{"kind": "APIResourceList","apiVersion": "v1","groupVersion": "external.metrics.k8s.io/v1beta1","resources": [] }

2 部署loadtester

執(zhí)行如下命令部署flagger loadtester:

kubectl --kubeconfig "$USER_CONFIG" apply -f $FLAAGER_SRC/kustomize/tester/deployment.yaml -n test kubectl --kubeconfig "$USER_CONFIG" apply -f $FLAAGER_SRC/kustomize/tester/service.yaml -n test

3 部署HPA

3.1 根據(jù)應(yīng)用請(qǐng)求數(shù)量擴(kuò)縮容

首先我們創(chuàng)建一個(gè)感知應(yīng)用請(qǐng)求數(shù)量(istio_requests_total)的HorizontalPodAutoscaler配置:

apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata:name: podinfo-totalnamespace: testannotations:metric-config.external.prometheus-query.prometheus/processed-requests-per-second: |sum(rate(istio_requests_total{destination_workload_namespace="test",reporter="destination"}[1m])) spec:maxReplicas: 5minReplicas: 1scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: podinfometrics:- type: Externalexternal:metric:name: prometheus-queryselector:matchLabels:query-name: processed-requests-per-secondtarget:type: AverageValueaverageValue: "10"

執(zhí)行如下命令部署這個(gè)HPA配置:

kubectl --kubeconfig "$USER_CONFIG" apply -f resources_hpa/requests_total_hpa.yaml

執(zhí)行如下命令校驗(yàn):

kubectl --kubeconfig "$USER_CONFIG" get --raw "/apis/external.metrics.k8s.io/v1beta1" | jq .

結(jié)果如下:

{"kind": "APIResourceList","apiVersion": "v1","groupVersion": "external.metrics.k8s.io/v1beta1","resources": [{"name": "prometheus-query","singularName": "","namespaced": true,"kind": "ExternalMetricValueList","verbs": ["get"]}] }

類似地,我們可以使用其他維度的應(yīng)用級(jí)監(jiān)控指標(biāo)配置HPA。舉例如下,不再冗述。

3.2 根據(jù)平均延遲擴(kuò)縮容

apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata:name: podinfo-latency-avgnamespace: testannotations:metric-config.external.prometheus-query.prometheus/latency-average: |sum(rate(istio_request_duration_milliseconds_sum{destination_workload_namespace="test",reporter="destination"}[1m]))/sum(rate(istio_request_duration_milliseconds_count{destination_workload_namespace="test",reporter="destination"}[1m])) spec:maxReplicas: 5minReplicas: 1scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: podinfometrics:- type: Externalexternal:metric:name: prometheus-queryselector:matchLabels:query-name: latency-averagetarget:type: AverageValueaverageValue: "0.005"

3.3 根據(jù)P95分布擴(kuò)縮容

apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata:name: podinfo-p95namespace: testannotations:metric-config.external.prometheus-query.prometheus/p95-latency: |histogram_quantile(0.95,sum(irate(istio_request_duration_milliseconds_bucket{destination_workload_namespace="test",destination_canonical_service="podinfo"}[5m]))by (le)) spec:maxReplicas: 5minReplicas: 1scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: podinfometrics:- type: Externalexternal:metric:name: prometheus-queryselector:matchLabels:query-name: p95-latencytarget:type: AverageValueaverageValue: "4"

驗(yàn)證HPA

1 生成負(fù)載

執(zhí)行如下命令產(chǎn)生實(shí)驗(yàn)流量,以驗(yàn)證HPA配置自動(dòng)擴(kuò)容生效。

alias k="kubectl --kubeconfig $USER_CONFIG" loadtester=$(k -n test get pod -l "app=flagger-loadtester" -o jsonpath='{.items..metadata.name}') k -n test exec -it ${loadtester} -c loadtester -- hey -z 5m -c 2 -q 10 http://podinfo:9898

這里運(yùn)行了一個(gè)持續(xù)5分鐘、QPS=10、并發(fā)數(shù)為2的請(qǐng)求。

hey命令詳細(xì)參考如下:

Usage: hey [options...] <url>Options:-n Number of requests to run. Default is 200.-c Number of workers to run concurrently. Total number of requests cannotbe smaller than the concurrency level. Default is 50.-q Rate limit, in queries per second (QPS) per worker. Default is no rate limit.-z Duration of application to send requests. When duration is reached,application stops and exits. If duration is specified, n is ignored.Examples: -z 10s -z 3m.-o Output type. If none provided, a summary is printed."csv" is the only supported alternative. Dumps the responsemetrics in comma-separated values format.-m HTTP method, one of GET, POST, PUT, DELETE, HEAD, OPTIONS.-H Custom HTTP header. You can specify as many as needed by repeating the flag.For example, -H "Accept: text/html" -H "Content-Type: application/xml" .-t Timeout for each request in seconds. Default is 20, use 0 for infinite.-A HTTP Accept header.-d HTTP request body.-D HTTP request body from file. For example, /home/user/file.txt or ./file.txt.-T Content-type, defaults to "text/html".-a Basic authentication, username:password.-x HTTP Proxy address as host:port.-h2 Enable HTTP/2.-host HTTP Host header.-disable-compression Disable compression.-disable-keepalive Disable keep-alive, prevents re-use of TCPconnections between different HTTP requests.-disable-redirects Disable following of HTTP redirects-cpus Number of used cpu cores.(default for current machine is 4 cores)

2 自動(dòng)擴(kuò)容

執(zhí)行如下命令觀察擴(kuò)容情況:

watch kubectl --kubeconfig $USER_CONFIG -n test get hpa/podinfo-total

結(jié)果如下:

Every 2.0s: kubectl --kubeconfig /Users/han/shop_config/ack_zjk -n test get hpa/podinfo East6C16G: Tue Jan 26 18:01:30 2021NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE podinfo Deployment/podinfo 10056m/10 (avg) 1 5 2 4m45s

另外兩個(gè)HPA類似,命令如下:

kubectl --kubeconfig $USER_CONFIG -n test get hpawatch kubectl --kubeconfig $USER_CONFIG -n test get hpa/podinfo-latency-avg watch kubectl --kubeconfig $USER_CONFIG -n test get hpa/podinfo-p95

3 監(jiān)控指標(biāo)

同時(shí),我們可以實(shí)時(shí)在Prometheus中查看相關(guān)的應(yīng)用級(jí)監(jiān)控指標(biāo)的實(shí)時(shí)數(shù)據(jù)。示意如下:

原文鏈接:https://developer.aliyun.com/article/783551?

版權(quán)聲明:本文內(nèi)容由阿里云實(shí)名注冊(cè)用戶自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,阿里云開(kāi)發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。具體規(guī)則請(qǐng)查看《阿里云開(kāi)發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開(kāi)發(fā)者社區(qū)知識(shí)產(chǎn)權(quán)保護(hù)指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫(xiě)侵權(quán)投訴表單進(jìn)行舉報(bào),一經(jīng)查實(shí),本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。

總結(jié)

以上是生活随笔為你收集整理的Flagger on ASM——基于Mixerless Telemetry实现渐进式灰度发布系列 2 应用级扩缩容的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 最近免费中文字幕中文高清百度 | 一卡二卡三卡四卡五卡 | 国产一级片麻豆 | 日本大奶少妇 | 人人做人人爽人人爱 | 黑人借宿巨大中文字幕 | 久久天| 女人性做爰24姿势视频 | 你操综合| 天天干天天插天天操 | 一区国产精品 | 国产97自拍 | 欧美美女性视频 | 操少妇视频 | 欧美麻豆视频 | 成人免费在线网站 | 精品久久网站 | 日韩成人一级 | 男人爆操女人 | 青娱乐在线播放 | 日韩中文字幕一区 | 麻豆网站在线观看 | 伦理片中文字幕 | 国产区视频 | 日韩精品第一页 | 中文字幕成人av | 美国黄色一级大片 | 99久久精品一区 | 日韩精品一二三 | 致命弯道8在线观看免费高清完整 | 波多野结衣中文字幕一区二区 | 国内自拍第二页 | 羞羞涩 | 一区二区在线免费视频 | 午夜三区 | 国产成人在线免费观看视频 | www.日韩在线 | 精品无码av一区二区三区不卡 | 国语对白91 | 亚洲激情三区 | 国产91在线高潮白浆在线观看 | 99久久精品免费 | 亚洲jizzjizz日本少妇 | 国产美女作爱全过程免费视频 | 在线观看日韩视频 | 国产99re| 国产777| 欧美一区二区三 | 国产精品无码久久久久久电影 | 91超碰在线观看 | 制服丝袜天堂网 | 8x8x最新网址 | 99ri在线观看 | 奇米7777| 一区二区三区在线免费观看视频 | 永久免费成人代码 | 全黄一级裸体 | 密臀久久 | 伊人青青久 | 日韩精品福利视频 | xxx毛片| 久久性爱视频网站 | 91波多野结衣 | 一起操在线观看 | 天天射天天色天天干 | 久久电影一区二区 | 欧美极品少妇×xxxbbb | 性色av一区二区三区 | 亚洲AV成人无码电影在线观看 | 精品久久久久一区二区 | 久久亚洲AV无码专区成人国产 | 希岛婚前侵犯中文字幕在线 | 伊人福利在线 | 色婷亚洲| 亚洲区一| 国产情侣自拍一区 | 精品人妻伦一二三区免费 | 极品少妇网站 | 成人www.| 亚洲砖区区免费 | 在线黄色av | 中文字幕日韩高清 | 老子影院午夜伦不卡大全 | 在线观看福利电影 | 成人一区二区在线 | 国产日本一区二区 | 欧美在线免费看 | 亚洲国产精品久久久久婷蜜芽 | 天天曰夜夜曰 | 亚洲精品视频在线 | 伊人蕉| 殴美毛片 | 婷久久 | 国产精品久久久久久三级 | 精品999久久久一级毛片 | 俄罗斯黄色录像 | 久久精品视频免费观看 | 喷潮在线观看 | 国产区一区二区 |