通過ACK Serverless集群使用ECI
ECI已經(jīng)無縫集成到阿里云容器服務(wù)Kubernetes版,您可以通過ACK Serverless集群或者ACK集群,快速體驗(yàn)ECI的容器運(yùn)行能力。本文以ACK Serverless集群為例,介紹如何通過阿里云容器服務(wù)如何使用ECI。
準(zhǔn)備工作
首次操作時(shí),需完成服務(wù)開通和相關(guān)授權(quán)操作:
開通容器服務(wù)Kubernetes版,并授權(quán)默認(rèn)角色和開通相關(guān)云產(chǎn)品。具體操作,請(qǐng)參見首次使用容器服務(wù)Kubernetes版。
登錄彈性容器實(shí)例控制臺(tái),根據(jù)提示開通ECI服務(wù)。
創(chuàng)建ACK Serverless集群
以下步驟僅介紹創(chuàng)建ACK Serverless集群時(shí)的基本配置,實(shí)際操作時(shí),請(qǐng)根據(jù)業(yè)務(wù)需要設(shè)置相關(guān)參數(shù)和安裝相應(yīng)組件。更多信息,請(qǐng)參見創(chuàng)建集群。
打開創(chuàng)建集群頁面。
在左側(cè)導(dǎo)航欄,單擊集群。
在集群列表頁面的右上角,單擊創(chuàng)建集群。
在上方單擊ACK Serverless集群頁簽,完成集群配置,然后單擊下一步:組件配置。
需要注意的配置項(xiàng)說明如下,未提及的配置項(xiàng)請(qǐng)根據(jù)自身需求設(shè)置。
配置項(xiàng)
示例
說明
集群名稱
test
根據(jù)頁面提示填寫集群名稱。
地域
華北2(北京)
選擇集群所屬地域。
專有網(wǎng)絡(luò)
自動(dòng)創(chuàng)建
設(shè)置集群所屬的專有網(wǎng)絡(luò)。
自動(dòng)創(chuàng)建:您需要選擇可用區(qū),系統(tǒng)會(huì)自動(dòng)創(chuàng)建一個(gè)VPC和一個(gè)屬于該可用區(qū)的交換機(jī),且會(huì)在VPC中自動(dòng)創(chuàng)建NAT網(wǎng)關(guān)并配置SNAT規(guī)則。
使用已有:選擇已有的VPC和交換機(jī)。
配置 SNAT
為專有網(wǎng)絡(luò)配置SNAT
當(dāng)集群需要公網(wǎng)訪問能力時(shí),需配置SNAT。
如果使用自動(dòng)創(chuàng)建的專有網(wǎng)絡(luò),則會(huì)自動(dòng)配置SNAT。
如果使用已有專有網(wǎng)絡(luò),請(qǐng)根據(jù)需要選擇是否配置SNAT。
Service CIDR
172.21.0.0/20
您需要指定Service CIDR,網(wǎng)段不能與VPC及VPC內(nèi)已有Kubernetes集群使用的網(wǎng)段重復(fù),創(chuàng)建成功后不能修改。更多信息,請(qǐng)參見Kubernetes集群網(wǎng)絡(luò)規(guī)劃。
API server 訪問
使用EIP暴露API Server
請(qǐng)根據(jù)需要設(shè)置是否使用EIP暴露API Server。API Server提供了各類資源對(duì)象(Pod,Service等)的增刪改查及Watch等HTTP Rest接口。
如果開啟,會(huì)創(chuàng)建一個(gè)EIP,并掛載到SLB上。此時(shí),Kubernetes API服務(wù)(即API Server)會(huì)通過EIP的6443端口暴露出來,您可以在外網(wǎng)通過kubeconfig連接并操作集群。
如果不開啟,則不會(huì)創(chuàng)建EIP,您只能在VPC內(nèi)部用kubeconfig連接并操作集群。
完成組件配置,然后單擊下一步:確認(rèn)配置。
請(qǐng)根據(jù)自身需求配置需要的組件。使用組件會(huì)產(chǎn)生相關(guān)費(fèi)用,本文作為體驗(yàn)教程,不使用任何組件。
確認(rèn)配置信息,選中服務(wù)協(xié)議,單擊創(chuàng)建集群。
返回集群列表頁面,當(dāng)集群狀態(tài)為運(yùn)行中時(shí),表示集群創(chuàng)建完成。
在ACK Serverless集群中部署應(yīng)用
以下步驟以Nginx為例,介紹如何在ACK Serverless集群中創(chuàng)建ECI實(shí)例來部署應(yīng)用。
在集群列表頁面,找到目標(biāo)ACK Serverless集群的名稱,進(jìn)入集群管理頁面。
創(chuàng)建Deployment,用于部署Nginx應(yīng)用。
在左側(cè)導(dǎo)航欄,選擇工作負(fù)載>無狀態(tài)。
單擊右上角的使用YAML創(chuàng)建資源。
根據(jù)需要修改模板中的YAML內(nèi)容,然后單擊創(chuàng)建。
默認(rèn)選擇了Resource-basic Deployment示例模板,該模板YAML聲明創(chuàng)建的Deployment包含2個(gè)Pod,每個(gè)Pod帶有app: nginx的Label,運(yùn)行一個(gè)部署了Nginx應(yīng)用的容器。
說明示例模板中的
image: nginx:1.7.9
表示從Docker Hub拉取Nginx 1.7.9版本的鏡像。如果您的集群沒有配置公網(wǎng)訪問,則無法拉取該鏡像,請(qǐng)?zhí)鎿Q為VPC網(wǎng)絡(luò)內(nèi)的鏡像,例如image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
。確認(rèn)Deployment創(chuàng)建結(jié)果。
在無狀態(tài)頁面可以查看Deployment信息。
容器組數(shù)量對(duì)應(yīng)的
2/2
表示Deployment創(chuàng)建成功,包含的2個(gè)Pod已在運(yùn)行中。在無狀態(tài)頁面,單擊Deployment名稱可以查看Deployment詳細(xì)信息。
在容器組頁簽下可以看到2個(gè)Pod的狀態(tài)均為運(yùn)行中。單擊Pod名稱,可以查看Pod詳細(xì)信息。
每個(gè)Pod對(duì)應(yīng)一個(gè)ECI實(shí)例,在彈性容器實(shí)例控制臺(tái)的容器組頁面,您可以看到相應(yīng)的ECI實(shí)例。
創(chuàng)建Service,配置Nginx應(yīng)用的訪問方式。
在左側(cè)導(dǎo)航欄,選擇網(wǎng)絡(luò)>服務(wù)。
單擊右上角的使用YAML創(chuàng)建資源。
拷貝以下YAML,單擊創(chuàng)建。
以下YAML創(chuàng)建了一個(gè)類型為LoadBalancer的Service,對(duì)外開放80端口,后端為帶有app: nginx的Label的Pod(即上一步創(chuàng)建的Deployment中的Pod)。
apiVersion: v1 kind: Service metadata: name: nginx-service spec: ports: - port: 80 protocol: TCP selector: app: nginx type: LoadBalancer
確認(rèn)Service的創(chuàng)建結(jié)果。
在服務(wù)頁面,單擊Service名稱可以查看Service詳細(xì)信息。該Service已自動(dòng)關(guān)聯(lián)上一步創(chuàng)建的Deployment,后端端點(diǎn)為該Deployment中包含的2個(gè)Pod。
訪問Nginx應(yīng)用。
單擊Service外部端點(diǎn)對(duì)應(yīng)的
IP地址:端口
,即可訪問Nginx應(yīng)用。