使用ECI搭建WordPress应用

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网关并配置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