全部產品
Search
文件中心

Container Service for Kubernetes:快速部署基於Nginx的Web應用

更新時間:Jul 31, 2025

ACK Serverless叢集無需管理節點,無需進行節點的安全維護等營運操作,滿足您對應用託管的免營運訴求,讓您關注在應用而非底層基礎設施管理。本文介紹如何通過ACK Serverless快速部署基於官方Nginx鏡像的線上Web應用。

重要

完成本教程預計產生0.05 USD左右的費用(假設您的資源運行0.5 小時)。您可以在完成本教程後進行後續步驟或釋放資源。

前提條件

步驟一:部署Nginx服務

通過控制台部署

步驟一:建立Nginx應用並綁定服務

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集列表

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇工作負載 > 無狀態

  3. 無狀態頁面,單擊右上方的使用鏡像建立

  4. 應用基本資料頁面,填入以下樣本值,然後單擊下一步

    未提及的配置項請保持預設。

    配置項

    樣本值

    應用程式名稱

    nginx-deploy

    副本數量

    1

  5. 容器配置頁面,填入以下樣本值,然後單擊下一步

    未提及的配置項請保持預設。

    配置項

    樣本值

    鏡像名稱

    anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6

    所需資源

    • CPU :1Core

    • 記憶體:2GB

    連接埠

    • 名稱:example-port

    • 服務連接埠:80

    • 容器連接埠:80

    • 協議:TCP

  6. 進階配置頁面,建立一個新的服務(Service),在建立服務面板中填入以下樣本值,然後單擊確定

    未提及的配置項請保持預設。

    配置項

    樣本值

    服務名稱

    nginx-deploy-svc-test

    服務類型

    負載平衡 (LoadBalancer)

    • 負載平衡類型:傳統型負載平衡 CLB

    • 選擇資源:建立資源

    連接埠映射

    • 名稱:example-map

    • 服務連接埠:80

    • 容器連接埠:80

    • 協議:TCP

  7. 單擊建立,然後點擊查看應用詳情

  8. 在應用詳情的容器組頁簽下,等待容器組的狀態變為Running,然後單擊訪問方式頁簽,在外部端點處擷取外部存取服務的IP地址。

通過kubectl部署

說明

以下樣本可通過本地機器或CloudShell中的kubectl完成。在使用CloudShell時,不需要配置config檔案。

步驟一:建立Nginx應用並綁定服務

  1. 通過kubectl串連ACK Serverless叢集。具體操作,請參考通過kubectl串連Kubernetes叢集

  2. 使用以下範例建立名為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"
  3. 執行以下命令,將nginx.yaml中的配置應用到叢集。

    kubectl apply -f nginx.yaml

    預期輸出:

    service/nginx-service created
    deployment.apps/nginx-deploy created
  4. 執行以下命令,查看應用的詳細資料。

    kubectl get deploy

    預期輸出:

    NAME           READY   UP-TO-DATE   AVAILABLE   AGE
    nginx-deploy   1/1     1            1           9m32s
  5. 執行以下命令,查看服務的詳細資料,並記錄下“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的初始頁面,則表示應用與服務都在正常工作。

nginx

後續步驟

您可以為上文建立的應用配置Auto Scaling策略。具體操作,請參見配置叢集的Auto Scaling

如果您不計劃配置Auto Scaling,請按照以下步驟釋放資源。

刪除已建立的應用和服務

  1. Container Service管理主控台叢集列表頁面,單擊目的地組群名稱。

  2. 在左側導覽列選擇工作負載 > 無狀態,然後選中已建立的Nginx應用,單擊大量刪除,並按介面提示完成後續確認操作。

刪除叢集

ACK Serverless叢集目前不收取叢集管理費用,但在使用ACK Serverless叢集過程中用到的其他阿里雲雲產品資源(如ECI),您需要按照各雲產品規定的計費規則,為您使用的資源付費,費用由各雲產品收取。完成教程後,請參考以下情境處理叢集:

  • 如果不再繼續使用叢集,請在Container Service管理主控台叢集列表頁面,找到目的地組群並單擊對應的更多 > 刪除,在彈出面板閱讀提示資訊,選中要同時刪除的相關雲產品資源,然後單擊刪除,並按頁面提示完成後續操作。更多資訊,請參見刪除叢集

  • 如果需要繼續使用叢集,請及時為阿里雲帳號儲值,確保餘額充足。如需瞭解使用ACK Serverless叢集Pro版過程中用到的其他阿里雲雲產品資源的計費資訊,請參見雲產品資源計費