更新时间:2023-08-18 GMT+08:00

步骤2:创建WordPress

WordPress是使用PHP语言和MySQL数据库开发的博客平台,并逐步演化成一款内容管理系统软件,您可以在支持PHP和MySQL数据库的服务器上架设属于自己的博客网站。WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式,安装方式简单易用。

本例主要演示如何使用镜像创建一个公开的WordPress网站。

前提条件

通过控制台创建WordPress

  1. 登录CCE控制台
  2. 单击集群进入集群控制台。
  3. 在左侧菜单栏选择“工作负载”,单击右上角“创建负载”
  4. 填写工作负载参数。

    基本信息
    • 负载类型:选择无状态负载。
    • 负载名称:wordpress。
    • 命名空间:default。
    • 实例数量:本例中实例数量设置为2。
    图1 设置工作负载基本信息

    容器配置

    在基本信息中单击“选择镜像”,在弹出的窗口中选择“镜像中心”,并搜索“wordpress”,选择wordpress镜像,并设置镜像版本为“php7.3”

    图2 选择镜像版本

    在环境变量下添加如下环境变量,

    此处一共需要设置四个环境变量,让WordPress知道MySQL数据库的信息。

    • WORDPRESS_DB_HOST:数据库的访问地址。可以在mysql工作负载的访问方式中找到。可以使用集群内部域名mysql.default.svc.cluster.local:3306访问,其中.default.svc.cluster.local可以省略,即使用mysql:3306
    • WORDPRESS_DB_USER:访问数据的用户名,此处需要设置为步骤1:创建MySQL中MYSQL_USER一致,即使用这个用户去连接MySQL。
    • WORDPRESS_DB_PASSWORD:访问数据库的密码,此处需要设置为步骤1:创建MySQL中MYSQL_PASSWORD一致。
    • WORDPRESS_DB_NAME:访问数据库的名称,此处需要设置为步骤1:创建MySQL中MYSQL_DATABASE一致。
    图3 设置环境变量

    服务配置

    单击服务配置下的加号,创建服务(Service),用于从外部访问负载。本例将创建一个负载均衡类型的Service,请在右侧弹窗中配置如下参数。

    • Service名称:输入应用发布的可被外部访问的名称,设置为:wordpress。
    • 访问类型:选择“负载均衡 ( LoadBalancer )”
    • 服务亲和:保持默认。
    • 负载均衡器:如果已有负载均衡(ELB)实例,可以选择已有ELB,如果没有可单击“创建负载均衡器”,在ELB控制台创建一个公网类型负载均衡器。
    • 端口配置:
      • 对外协议:TCP。
      • 服务端口:设置为80,该端口号将映射到容器端口。
      • 容器端口:容器中应用启动监听的端口,wordpress镜像请设置为80,其他应用容器端口和应用本身的端口一致。
    图4 创建服务

  5. 单击右下角“创建工作负载”

    等待工作负载创建成功。

    创建成功后在无状态负载下会显示一个运行中的工作负载。

    图5 wordpress负载创建成功

通过kubectl创建WordPress

本步骤指导您通过kubectl创建一个无状态工作负载(Deployment),并通过负载均衡类型Service将负载公开,使得其能在外网访问。

  1. 请参见通过kubectl连接集群,使用kubectl连接集群。
  2. 创建一个名为wordpress-deployment.yaml的描述文件。其中,wordpress-deployment.yaml为自定义名称,您可以随意命名。

    vi wordpress-deployment.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: wordpress
      namespace: default
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: wordpress
          version: v1
      template:
        metadata:
          labels:
            app: wordpress
            version: v1
        spec:
          containers:
            - name: container-1
              image: wordpress:php7.3
              env:
                - name: WORDPRESS_DB_HOST
                  value: mysql:3306
                - name: WORDPRESS_DB_USER
                  value: db_user
                - name: WORDPRESS_DB_PASSWORD
                  value: password@123
                - name: WORDPRESS_DB_NAME
                  value: database
              resources:
                requests:
                  cpu: 250m
                  memory: 128Mi
                limits:
                  cpu: 250m
                  memory: 128Mi
          imagePullSecrets:
            - name: default-secret

  3. 创建WordPress。

    kubectl apply -f wordpress-deployment.yaml

    回显如下表示已开始创建deployment。

    deployment "wordpress" created

    查看deployment状态。

    kubectl get deployment

    deployment状态显示为Running,表示deployment已创建成功。

    NAME               READY     UP-TO-DATE   AVAILABLE   AGE 
    wordpress          1/1       1            1           4m5s

  4. 创建一个名为wordpress-service.yaml的描述文件。其中,wordpress-service.yaml为自定义名称,您可以随意命名。

    vi wordpress-service.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: wordpress
      namespace: default
      annotations:
        kubernetes.io/elb.class: union
        kubernetes.io/elb.autocreate:         
            '{
                "type": "public",
                "bandwidth_name": "cce-wordpress",
                "bandwidth_chargemode": "bandwidth",
                "bandwidth_size": 5,
                "bandwidth_sharetype": "PER",
                "eip_type": "5_bgp"
            }'
    spec:
      selector:
        app: wordpress
      externalTrafficPolicy: Cluster
      ports:
        - name: cce-service-0
          targetPort: 80
          nodePort: 0
          port: 80
          protocol: TCP
      type: LoadBalancer

  5. 创建服务。

    kubectl create -f wordpress-service.yaml

    回显如下,表示服务已创建。

    service/wordpress created

    kubectl get svc

    回显如下,表示工作负载访问方式已设置成功,工作负载可访问。

    NAME         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
    kubernetes   ClusterIP      10.247.0.1       <none>        443/TCP          3d
    mysql        ClusterIP      10.247.202.20    <none>        3306/TCP         8m
    wordpress   LoadBalancer   10.247.130.196   **.**.**.**   80:31540/TCP   51s

访问WordPress

  1. 获取WordPress的外部访问地址。

    单击WordPress工作负载名称,进入工作负载详情页。在访问方式页签下可以看到WordPress的IP地址,其中负载均衡IP就是外部访问地址。

    图6 访问WordPress应用

  2. 在浏览器中输入“外部访问地址”,即可成功访问应用。

    访问到的WordPress应用如下图。

    图7 WordPress应用
    图8 WordPress应用

清除资源

您已经完成了入门的所有示例体验,基本了解了CCE的使用流程。节点运行过程中会产生费用,如果您不需要使用该集群,建议您参照以下步骤,删除节点,避免费用产生,如果您想继续体验CCE请继续保留集群节点资源。

  1. 登录CCE控制台。
  2. 单击左侧导航栏的“集群管理”
  3. 单击待删除集群后的,根据系统提示删除集群。

    图9 删除集群