ACK Serverless集群無需管理節點,無需進行節點的安全維護等運維操作,滿足您對應用托管的免運維訴求,讓您關注在應用而非底層基礎設施管理。本文介紹如何通過ACK Serverless快速部署基于官方Nginx鏡像的在線Web應用。
完成本教程預計產生0.25元左右的費用(假設您的資源運行0.5 小時)。您可以在完成本教程后進行后續步驟或釋放資源。
前提條件
已創建ACK Serverless集群。具體操作,請參見創建ACK Serverless集群。
已為集群API Server綁定公網連接端點。具體操作,請參見控制集群API Server的公網訪問能力。
已為集群所屬VPC配置公網NAT網關及SNAT條目。具體操作,請參見使用公網NAT網關SNAT功能訪問互聯網。
步驟一:部署Nginx服務
通過控制臺部署
步驟一:創建Nginx應用并綁定服務
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在無狀態頁面,單擊右上方的使用鏡像創建。
在應用基本信息頁面,填入以下示例值,然后單擊右方的下一步,未提及的配置項請保持默認。
配置項
示例值
應用名稱
nginx-deploy
副本數量
1
在容器配置頁面,填入以下示例值,并單擊右方的下一步,未提及的配置項請保持默認。
配置項
示例值
鏡像名稱
nginx
鏡像Tag
alpine
所需資源
CPU :1Core
內存:2GB
端口
名稱:example-port
容器端口:80
協議:TCP
在高級配置頁面,創建一個新的服務(Service),在創建服務面板中在端口映射中填入以下示例值,然后單擊面板右下方的創建。
配置項
示例值
名稱
example-map
服務端口
80
容器端口
80
協議
TCP
單擊右下方的創建,然后點擊查看應用詳情。
在容器組頁簽下,等待容器組的狀態變為Running。然后單擊訪問方式頁簽,記錄下nginx-deploy-svc的外部端點(外部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: nginx:alpine 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
步驟二:測試服務
在瀏覽器中輸入nginx-service的外部IP(EXTERNAL-IP)并前往。
如果您看到如下的nginx的初始頁面,則表示應用與服務都在正常工作。
后續步驟
您可以為上文創建的應用配置彈性伸縮策略。具體操作,請參見配置集群的彈性伸縮。
如果您不計劃配置彈性伸縮,請按照以下步驟釋放資源。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群右方的
。在刪除集群面板中,選中以下復選框:同時刪除集群下的ALB資源,同時刪除集群下的PrivateZone資源,我已知曉以上信息并確認刪除集群,然后單擊確定。