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