山東網(wǎng)站建設(shè)優(yōu)化技術(shù)太原做網(wǎng)站的工作室
------> 課程視頻同步分享在今日頭條和B站
天下武功,唯快不破!
大家好,我是博哥愛運(yùn)維。這節(jié)課給大家講下云平臺(tái)的彈性容器實(shí)例怎么結(jié)合其托管K8S,使用混合服務(wù)架構(gòu),帶來極致擴(kuò)縮容快感。
下面是全球主流云平臺(tái)彈性容器相關(guān)使用文檔:
aliyun ACK使用ECI : https://help.aliyun.com/document_detail/119207.html
aws Fargate : https://docs.aws.amazon.com/eks/latest/userguide/fargate.html
華為云 cce+cci: https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0133.html
google GKE+Cloud Run: Cloud Run on a GKE cluster https://www.cloudskillsboost.google/focuses/5147?locale=zh&parent=catalog
火山云 VKE容器服務(wù) + VCI彈性容器實(shí)例 https://www.volcengine.com/docs/6460/76908
這里以阿里云的ACK托管K8S平臺(tái)+阿里云的ECI來聊一聊,其他云平臺(tái)名稱雖然不一樣,但底層原理和使用基本差不多。
阿里云彈性容器實(shí)例(Elastic Container Instance)是敏捷安全的Serverless容器運(yùn)行服務(wù)。您無需管理底層服務(wù)器,也無需關(guān)心運(yùn)行過程中的容量規(guī)劃,只需要提供打包好的Docker鏡像,即可運(yùn)行容器,并僅為容器實(shí)際運(yùn)行消耗的資源付費(fèi)。
彈性容器實(shí)例的核心優(yōu)勢主要體現(xiàn)在以下幾方面:
免運(yùn)維
采用Severless架構(gòu),基礎(chǔ)設(shè)施托管。您無需關(guān)心底層服務(wù)器,只需要提交容器鏡像;無需預(yù)先創(chuàng)建集群和維護(hù)集群,無需關(guān)注運(yùn)行過程中的容量規(guī)劃,可以專注業(yè)務(wù)領(lǐng)域創(chuàng)新。
靈活部署
以阿里云全球計(jì)算基礎(chǔ)設(shè)施作為資源池,提供海量、高并發(fā)、多種資源類型(CPU、高主頻、GPU等)的容器計(jì)算資源,您可以根據(jù)需要靈活部署。
低成本
按實(shí)例啟動(dòng)到結(jié)束時(shí)間段內(nèi)消耗的資源計(jì)費(fèi),時(shí)長精確到秒。配合Kubernetes或者您自建的調(diào)度系統(tǒng),ECI可根據(jù)業(yè)務(wù)流量自動(dòng)彈性伸縮,減少空置費(fèi)用。
vCPU單價(jià)(vCPU):0.000049 元/秒
內(nèi)存單價(jià)(GiB): 0.00000613 元/秒
指定vCPU和內(nèi)存創(chuàng)建一臺(tái)2 vCPU、4 GiB內(nèi)存的ECI實(shí)例,則每小時(shí)該ECI實(shí)例的費(fèi)用為:
vCPU(vCPU):0.00004936002=0.3528元
內(nèi)存(GiB):0.0000061336004=0.088272元
高彈性
支持快速秒級啟動(dòng)實(shí)例,您無需提前預(yù)估集群容量和業(yè)務(wù)流量,可以按需擴(kuò)容,輕松應(yīng)對百倍的業(yè)務(wù)突發(fā)流量。
兼容性
兼容Kubernetes,Kubernetes集群上的Pod能直接調(diào)度至ECI。支持無縫集成至阿里云容器服務(wù)托管版Kubernetes(ACK)和Serverless版Kubernetes(ASK),同時(shí)支持通過virtual kubelet對接您自建的Kubernetes集群。
集成
自動(dòng)集成阿里云的其它服務(wù),可快速實(shí)現(xiàn)網(wǎng)絡(luò)訪問、日志采集、數(shù)據(jù)持久化存儲(chǔ)、服務(wù)監(jiān)控等功能。例如:日志服務(wù)SLS、文件存儲(chǔ)NAS、監(jiān)控服務(wù)ARMS等。
使用步驟
ack集群–組件管理–安裝 ACK Virtual Node
完成后,查看虛擬節(jié)點(diǎn)
kubectl get node|grep virtual
然后編輯配置
# kubectl -n kube-system edit configmap eci-profile
apiVersion: v1
data:enableClusterIp: "true"enableHybridMode: "false"enableLogController: "false"enablePVCController: "false"enablePrivateZone: "false"enableReuseSSLKey: "false"featureGates: MetricsVpcNet=true,WaitForFirstConsumer=falseresourceGroupId: ""securityGroupId: sg-ggggggggggggggggggggselectors: ""slsMachineGroup: ""vSwitchIds: vsw-yyyyyyyyyyyyyyyyyy,vsw-xxxxxxxxxxxxxxxxxxxvpcId: vpc-aaaaaaaaaaaaaaaaaaaaaaaa
測試ECI
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginxname: nginx
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:alibabacloud.com/eci: "true" # 在pod這部分添加這個(gè)label即代表使用ECIapp: nginxspec:containers:- image: nginximagePullPolicy: Alwaysname: nginxports:- containerPort: 80name: http80protocol: TCPresources: {}
ECI混合服務(wù)架構(gòu)