全部產品
Search
文件中心

Elastic Container Instance:使用ECI搭建WordPress應用

更新時間:Jul 06, 2024

ECI支援使用Cloud Shell來管理。本文以搭建WordPress應用為例,介紹如何使用Cloud Shell來建立ACK Serverless叢集,並快速建立ECI執行個體來部署容器應用。

背景資訊

WordPress是使用PHP語言開發的部落格平台,在支援PHP和MySQL資料庫的伺服器上,您可以用WordPress架設網站,也可以用作內容管理系統(CMS)。

Cloud Shell是阿里雲提供的命令列工具,您可以在瀏覽器上使用Cloud Shell運行雲命令列來管理阿里雲資源。更多關於Cloud Shell的資訊,請參見Cloud Shell

建立ACK Serverless叢集

  1. 開啟Cloud Shell,確認彈出的提示複製教程指令碼到Cloud Shell。

  2. 進入WordPress教程所在目錄。

    cd eci-wordpress
  3. (可選)修改叢集設定檔。

    vim create.json

    create.json檔案儲存了建立ACK Serverless叢集的參數,預設配置如下:

    {
    	"cluster_type": "ManagedKubernetes",
    	"profile": "Serverless",
    	"name": "wordpress-demo",
    	"region_id": "cn-hangzhou",
    	"endpoint_public_access": true,
    	"snat_entry": true,
    	"addons": [{
    		"name": "csi-provisioner",
    		"config": ""
    	}],
    	"zoneid": "cn-hangzhou-j"
    }

    可修改的參數如下:

    • name:叢集名稱。

    • region_id:叢集所在地區ID。

    • endpoint_public_access:是否開啟公網API Server。

    • snat_entry:是否建立NAT Gateway並配置SNAT規則。

    • zoneid:叢集所屬地區的可用性區域ID。

  4. 執行以下命令建立ACK Serverless叢集

    aliyun cs POST /clusters --header "Content-Type=application/json" --body "$(cat create.json)"

    建立成功後會返回類似以下資訊,其中cluster_id為您建立的叢集的ID。

    {
    	"cluster_id": "c5789a864e71848ab9fa57013********",
    	"instanceId": "c5789a864e71848ab9fa57013********",
    	"request_id": "C5044E47-7AAD-5D6F-A8D9-2249F1******",
    	"task_id": "T-6528e986ba8151096d******"
    }
  5. 查看叢集屬性。

    aliyun cs GET /clusters/<YOUR-CLUSTER-ID>

部署WordPress應用

重要

請確保建立的ACK Serverless叢集已完成初始化(一般需要3~5分鐘),然後開始安裝WordPress。

  1. 管理ACK Serverless叢集

    source use-k8s-cluster ${叢集ID}

    請根據實際替換上述命令的叢集ID,命令樣本如下:

    source use-k8s-cluster c5789a864e71848ab9fa57013********
  2. 部署WordPress應用。

    重要

    使用wordpress-all-in-one-pod.yaml部署WordPress應用會自動建立一個EIP,並掛載到應用對應的ECI Pod上。

    kubectl apply -f wordpress-all-in-one-pod.yaml
    說明

    開啟Cloud Shell時會提示您複製指令碼到Cloud Shell內,在eci-wordpress目錄下包含wordpress-all-in-one-pod.yaml。

  3. 查看進度。

    kubectl get pods

    預期返回如下,當Pod的狀態為Running時,表示部署成功。

    NAME        READY   STATUS    RESTARTS   AGE
    wordpress   2/2     Running   0          5m59s
  4. 查看WordPress應用的EIP地址。

    kubectl get -o json pod wordpress |grep "k8s.aliyun.com/allocated-eipAddress"

    預期返回如下:

    "k8s.aliyun.com/allocated-eipAddress": "47.99.XX.XX"
  5. 配置WordPress應用的安全性群組。

    1. 擷取安全性群組ID。

      kubectl get -o json pod wordpress |grep "k8s.aliyun.com/eci-security-group"

      預期返回:

      "k8s.aliyun.com/eci-security-group": "sg-bp1fw6ecxb0obm******"
    2. 配置安全性群組開放80連接埠。

      aliyun ecs AuthorizeSecurityGroup --RegionId ${Region ID} --SecurityGroupId ${安全性群組ID} --IpProtocol tcp --PortRange 80/80 --SourceCidrIp 0.0.0.0/0 --Priority 100

      請根據實際替換上述命令的Region ID和安全性群組ID。命令樣本如下:

      aliyun ecs AuthorizeSecurityGroup --RegionId cn-hangzhou --SecurityGroupId sg-bp1fw6ecxb0obm******  --IpProtocol tcp --PortRange 80/80 --SourceCidrIp 0.0.0.0/0 --Priority 100

安裝並登入WordPress應用

  1. 訪問WordPress應用。

    在瀏覽器中輸入WordPress應用的EIP地址,例如http://47.99.XX.XX

  2. 選擇語言單擊繼續,然後填寫網站基本資料,單擊安裝WordPress

    wordpress2

    需要填寫的基本資料說明如下:

    • 網站標題:WordPress網站的名稱。

    • 使用者名稱:登入WordPress時所需的使用者名稱,請注意安全性。

    • 密碼:登入WordPress時所需的密碼,建議您設定安全性高的密碼。

    • 您的電子郵件:用於接收通知的電子郵件。

  3. 單擊登入

  4. 輸入在安裝WordPress時設定的使用者名稱和密碼,然後單擊登入

    登入成功後,即可開啟WordPress。

    wordpress3