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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

阿里云Kubernetes容器服务上体验Knative

發布時間:2024/8/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里云Kubernetes容器服务上体验Knative 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

Knative Serving是一種可縮放至零、請求驅動的計算運行環境,構建在 Kubernetes 和 Istio 之上,支持為 serverless 應用、函數提供部署與服務。Knative Serving的目標是為Kubernetes提供擴展功能,用于部署和運行無服務器工作負載。

下面講述一下在阿里云Kubernetes容器服務基礎之上,如何快速搭建一套Knative Serving環境并進行自動擴容的體驗。

搭建Knative Serving

1.準備Kubernetes環境

阿里云容器服務Kubernetes 1.11.5目前已經上線,可以通過容器服務管理控制臺非常方便地快速創建 Kubernetes 集群。具體過程可以參考創建Kubernetes集群。

2.部署Istio

Knative serving運行需要基于Istio,目前阿里云容器服務Kubernetes已提供了快速一鍵部署的方式來安裝配置Istio。具體過程可以參考部署Istio。
登錄?容器服務管理控制臺,單擊左側導航欄中的集群,進入集群列表頁面。選擇所需的集群并單擊操作列更多 > 部署Istio。

根據需要進行配置,然后點擊部署按鈕。稍等幾十秒鐘之后,Istio環境就可以部署完畢,可以通過查看Pod運行狀態進行確認,如下所示。

3.部署Istio IngressGateway

登錄容器服務管理控制臺,點擊左側的應用目錄,在右側選中ack-istio-ingressgateway,如下:

點擊參數, 可以通過修改參數配置進行定制化,默認參數提供了Istio IngressGateway的配置項,然后點擊創建按鈕。

查看命令空間?istio-system?下的Pod列表,確認運行狀態,如下所示。

4.部署Knative CRD

登錄容器服務管理控制臺,點擊左側的應用目錄,在右側選中ack-knative-init,如下:

點擊創建按鈕安裝Knative初始化所需的內容,包括安裝CRD等。

5.部署Knative Serving

登錄容器服務管理控制臺,點擊左側的應用目錄,在右側選中ack-knative-serving,如下:

點擊參數, 可以通過修改參數配置進行定制化,默認參數提供了使用Istio IngressGateway的配置項,然后點擊創建按鈕。

至此,安裝Knative Serving所需的4個Helm chart都已經安裝完畢,如下所示:

體驗Knative

安裝autoscale示例

通過執行如下命令部署示例自動伸縮應用程序的 Knative Service:

kubectl create -f autoscale.yaml

其中autoscale.yaml文件內容如下所示:

apiVersion: serving.knative.dev/v1alpha1 kind: Service metadata:name: autoscale-gonamespace: default spec:runLatest:configuration:revisionTemplate:metadata:annotations:# Target 10 in-flight-requests per pod.autoscaling.knative.dev/target: "10"autoscaling.knative.dev/class: kpa.autoscaling.knative.devspec:container:image: registry.cn-beijing.aliyuncs.com/wangxining/autoscale-go:0.1

訪問autoscale示例

找到入口主機名和IP并導出為環境變量:

export IP_ADDRESS=`kubectl get svc istio-ingressgateway --namespace istio-system --output jsonpath="{.status.loadBalancer.ingress[*].ip}"`

向自動伸縮應用程序發出請求,并檢查消耗資源情況:

curl --header "Host: autoscale-go.default.{domain.name}" "http://${IP_ADDRESS?}?sleep=100&prime=10000&bloat=5"

注意,替換你的域名后綴替換{domain.name}。默認示例中為?aliyun.com。

curl --header "Host: autoscale-go.default.aliyun.com" "http://${IP_ADDRESS?}?sleep=100&prime=10000&bloat=5" Allocated 5 Mb of memory. The largest prime less than 10000 is 9973. Slept for 100.16 milliseconds.

通過以下命令安裝負載生成器:

go get -u github.com/rakyll/hey

維持50個并發請求,發送30秒的流量:

hey -z 30s -c 50 \-host "autoscale-go.default.aliyun.com" \"http://${IP_ADDRESS?}?sleep=100&prime=10000&bloat=5" \&& kubectl get pods

可以看到運行30秒的流量請求狀態,Knative服務隨著請求數量的增大也自動擴容:

Summary:Total: 30.1126 secsSlowest: 2.8528 secsFastest: 0.1066 secsAverage: 0.1216 secsRequests/sec: 410.3270Total data: 1235134 bytesSize/request: 99 bytesResponse time histogram:0.107 [1] |0.381 [12305] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■0.656 [0] |0.930 [0] |1.205 [0] |1.480 [0] |1.754 [0] |2.029 [0] |2.304 [0] |2.578 [27] |2.853 [23] |Latency distribution:10% in 0.1089 secs25% in 0.1096 secs50% in 0.1107 secs75% in 0.1122 secs90% in 0.1148 secs95% in 0.1178 secs99% in 0.1318 secsDetails (average, fastest, slowest):DNS+dialup: 0.0001 secs, 0.1066 secs, 2.8528 secsDNS-lookup: 0.0000 secs, 0.0000 secs, 0.0000 secsreq write: 0.0000 secs, 0.0000 secs, 0.0023 secsresp wait: 0.1214 secs, 0.1065 secs, 2.8356 secsresp read: 0.0001 secs, 0.0000 secs, 0.0012 secsStatus code distribution:[200] 12356 responsesNAME READY STATUS RESTARTS AGE autoscale-go-00001-deployment-5fb497488b-2r76v 2/2 Running 0 29s autoscale-go-00001-deployment-5fb497488b-6bshv 2/2 Running 0 2m autoscale-go-00001-deployment-5fb497488b-fb2vb 2/2 Running 0 29s autoscale-go-00001-deployment-5fb497488b-kbmmk 2/2 Running 0 29s autoscale-go-00001-deployment-5fb497488b-l4j9q 1/2 Terminating 0 4m autoscale-go-00001-deployment-5fb497488b-xfv8v 2/2 Running 0 29s

總結

在阿里云Kubernetes容器服務基礎之上,可以快速搭建一套Knative Serving環境并進行自動擴容的體驗。歡迎大家使用阿里云上的容器服務,快速搭建Knative環境,比較簡單地集成到自己項目開發中。

?


原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的阿里云Kubernetes容器服务上体验Knative的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。