Serverless Kubernetes 应用部署及扩缩容
作者 | 鄧青琳(輕零) 阿里云技術專家
導讀:本文分為三個部分,首先給大家演示 Serverless Kubernetes 集群的創建和業務應用的部署,其次介紹 Serverless Kubernetes 的常用功能,最后對應用擴縮容的操作進行探討。
集群創建及應用部署
1. 集群創建
在對 Serverless Kubernetes 的基礎概念有了充分了解之后,我們直接進入容器服務控制臺(https://cs.console.aliyun.com/#/authorize)進行集群的創建。
在創建頁面,主要有三類屬性需要選擇或填寫:
- 集群創建的地域和 Kubernetes 的版本信息;
- 網絡屬性:可以選擇容器服務自動創建或者指定已有的 VPC 資源;
- 集群能力和服務:可以按需選擇。
屬性完成后,點擊“創建集群”即可,整個創建過程需要 1~2 分鐘的時間。
2. 應用部署
集群創建完成后,接下來我們部署一個無狀態的 nginx 應用,主要分成三步:
- 應用基本信息:名稱、POD 數量、標簽等;
- 容器配置:鏡像、所需資源、容器端口、數據卷等;
- 高級配置:服務、路由、HPA、POD 標簽等。
創建完成后,在路由中就可以看到服務對外暴露的訪問方式了。
如上圖所示,在本地 host 綁定 ask-demo.com 到路由端點 123.57.252.131 的解析,然后瀏覽器訪問域名,即可請求到部署的 nginx 應用。
常用功能介紹
我們一般會通過容器服務控制臺和 Kubectl 兩種方式,來使用 Serverless Kubernetes 的常用功能。
1. 容器服務控制臺
在容器服務控制臺上,我們可以進行以下功能的白屏化操作:
- 基本信息:集群 ID 和運行狀態、API Server 端點、VPC 和安全性、集群訪問憑證的查看和操作;
- 存儲卷:PV、PVC、StorageClass 的查看和操作;
- 命名空間:集群 namespace 的查看和操作;
- 工作負載:Deployment、StatefulSet、Job、CronJob、Pod 的查看和操作;
- 服務:工作負載提供出的 Service 的查看和操作;
- 路由:Ingress 的查看和操作,用來路由 Service;
- 發布:對基于 Helm 或者容器服務分批發布的任務進行查看和操作;
- 配置管理:對 ConfigMap 和 Secret 的查看和操作;
- 運維管理:集群的事件列表和操作審計。
2. Kubectl
除了通過控制臺,我們還可以基于 Kubectl 來進行集群操作和管理。
我們可以在云端通過 CloudShell 來使用 Kubectl,也可以在本地安裝 Kubectl,然后通過將集群的訪問憑證寫入到 kubeconfig 來使用 Serverless Kubernetes 。
應用彈性伸縮
通通過上面的內容講解,我們已經了解了應用的部署和集群的常用操作,下面為大家介紹一下如何為應用做擴縮容操作。
在 Serverless Kubernetes 中常用的應用擴縮容方式包括:
- 人工擴縮容:最為原始的方式,在成本和應用穩定性上均有一定程度的犧牲;
- HPA(Horizontal Pod Autoscaler):根據 Cpu 和 Memory 等指標來彈性伸縮,適合有突發流量場景的應用;
- Cron HPA :根據 Cron 表達式來定期伸縮,適合有固定波峰波谷特性的應用;
- External Metrics(alibaba-cloud-metrics-adapter):阿里云指標容器水平伸縮,在原生 HPA 的基礎上支持更多的數據指標。
結語
以上就是 Serverless Kubernetes 應用部署及擴縮容的全部分享,希望通過這次分享能夠幫助大家更好地入門和使用 Serverless Kubernetes,后續也將會有更多的 Serverless Kubernetes 的實踐案例分享給大家。
總結
以上是生活随笔為你收集整理的Serverless Kubernetes 应用部署及扩缩容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 典型案例 1:函数计算在音视频场景实践
- 下一篇: Serverless Kubernete