ACK Serverless叢集無需管理節點,無需進行節點的安全維護等營運操作,滿足您對應用託管的免營運訴求,讓您關注在應用而非底層基礎設施管理。本文介紹如何通過ACK Serverless快速部署基於官方Nginx鏡像的線上Web應用。
完成本教程預計產生0.05 USD左右的費用(假設您的資源運行0.5 小時)。您可以在完成本教程後進行後續步驟或釋放資源。
前提條件
已建立ACK Serverless叢集。具體操作,請參見建立ACK Serverless叢集。
已為叢集API Server綁定公網串連端點。具體操作,請參見控制叢集API Server的公網訪問能力。
已為叢集所屬VPC配置公網NAT Gateway及SNAT條目。具體操作,請參見使用公網NAT GatewaySNAT功能訪問互連網。
步驟一:部署Nginx服務
通過控制台部署
步驟一:建立Nginx應用並綁定服務
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
在無狀態頁面,單擊右上方的使用鏡像建立。
在應用基本資料頁面,填入以下樣本值,然後單擊下一步。
未提及的配置項請保持預設。
配置項
樣本值
應用程式名稱
nginx-deploy
副本數量
1
在容器配置頁面,填入以下樣本值,然後單擊下一步。
未提及的配置項請保持預設。
配置項
樣本值
鏡像名稱
anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
所需資源
CPU :1Core
記憶體:2GB
連接埠
名稱:example-port
服務連接埠:80
容器連接埠:80
協議:TCP
在進階配置頁面,建立一個新的服務(Service),在建立服務面板中填入以下樣本值,然後單擊確定。
未提及的配置項請保持預設。
配置項
樣本值
服務名稱
nginx-deploy-svc-test
服務類型
負載平衡 (LoadBalancer)
負載平衡類型:傳統型負載平衡 CLB
選擇資源:建立資源
連接埠映射
名稱:example-map
服務連接埠:80
容器連接埠:80
協議:TCP
單擊建立,然後點擊查看應用詳情。
在應用詳情的容器組頁簽下,等待容器組的狀態變為Running,然後單擊訪問方式頁簽,在外部端點處擷取外部存取服務的IP地址。
通過kubectl部署
以下樣本可通過本地機器或CloudShell中的kubectl完成。在使用CloudShell時,不需要配置config檔案。
步驟一:建立Nginx應用並綁定服務
通過kubectl串連ACK Serverless叢集。具體操作,請參考通過kubectl串連Kubernetes叢集。
使用以下範例建立名為nginx.yaml的設定檔。
apiVersion: v1 kind: Service metadata: name: nginx-deploy-svc spec: ports: - port: 80 protocol: TCP selector: app: nginx type: LoadBalancer --- apiVersion: apps/v1 # 對於不同的K8s版本這裡需要使用不同的對應版本。 kind: Deployment metadata: name: nginx-deploy labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 ports: - containerPort: 80 resources: requests: cpu: "1" memory: "2Gi"執行以下命令,將nginx.yaml中的配置應用到叢集。
kubectl apply -f nginx.yaml預期輸出:
service/nginx-service created deployment.apps/nginx-deploy created執行以下命令,查看應用的詳細資料。
kubectl get deploy預期輸出:
NAME READY UP-TO-DATE AVAILABLE AGE nginx-deploy 1/1 1 1 9m32s執行以下命令,查看服務的詳細資料,並記錄下“nginx-service”的外部IP(EXTERNAL-IP)。
kubectl get svc預期輸出:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 172.XX.X.X <none> 443/TCP 10d nginx-service LoadBalancer 172.19.X.XXX 47.57.XX.XX 80:32278/TCP 39s
步驟二:測試服務
在瀏覽器中輸入擷取的服務外部IP地址(EXTERNAL-IP)並前往。
如果您看到如下的Nginx的初始頁面,則表示應用與服務都在正常工作。

後續步驟
您可以為上文建立的應用配置Auto Scaling策略。具體操作,請參見配置叢集的Auto Scaling。
如果您不計劃配置Auto Scaling,請按照以下步驟釋放資源。
刪除已建立的應用和服務
在Container Service管理主控台的叢集列表頁面,單擊目的地組群名稱。
在左側導覽列選擇工作負載 > 無狀態,然後選中已建立的Nginx應用,單擊大量刪除,並按介面提示完成後續確認操作。
刪除叢集
ACK Serverless叢集目前不收取叢集管理費用,但在使用ACK Serverless叢集過程中用到的其他阿里雲雲產品資源(如ECI),您需要按照各雲產品規定的計費規則,為您使用的資源付費,費用由各雲產品收取。完成教程後,請參考以下情境處理叢集:
如果不再繼續使用叢集,請在Container Service管理主控台的叢集列表頁面,找到目的地組群並單擊對應的,在彈出面板閱讀提示資訊,選中要同時刪除的相關雲產品資源,然後單擊刪除,並按頁面提示完成後續操作。更多資訊,請參見刪除叢集。
如果需要繼續使用叢集,請及時為阿里雲帳號儲值,確保餘額充足。如需瞭解使用ACK Serverless叢集Pro版過程中用到的其他阿里雲雲產品資源的計費資訊,請參見雲產品資源計費。