全部产品
云市场

发布 Kubernetes 应用案例

更新时间:2019-01-24 17:36:17

为了帮助您更好的了解如何使用 Kubernetes 发布应用,本文以 WordPress 为例说明如何用 Kubernetes 发布应用。

说明:WordPress 应用在使用时必须要依赖于数据库,所以本文档中,在创建 WordPress 应用前需要先创建 MySQL 应用。

1. 创建 MySQL 应用

前提条件

第一次创建 Kubernetes 应用前,需要在应用所在的区域先完成以下工作:

操作步骤

  1. 登录 EDAS 控制台

  2. 在左侧导航栏,单击应用管理,进入应用列表页面。

  3. 在应用列表页面右上角,单击创建 Kubernetes 应用

  4. 在应用基本信息页面中输入应用名称、并在下拉菜单中选择所在区域部署集群,单击下一步

    应用状态默认为无状态,可支持多副本部署。无状态应用重新部署时不保存实例数据。

    应用基本信息

    应用基本信息参数说明:

    • 应用名称:填写自定义的应用名。注意应用名不能重复,且仅允许数字,小写字母以及中划线组成。字母打头,最大长度36个字符。
    • 所在区域:选择相应的可用区域。
    • 部署集群:在下拉菜单中选择相应的集群用来部署 MySQL 应用。
    • 应用状态:默认支持无状态应用,不可设置。可支持多副本部署。无状态应用重新部署时不保存实例数据。
  5. 在应用配置页面中,配置应用参数。

    应用配置

    1. 单击镜像右侧的 + 按钮,在弹出的选择镜像对话框中选择镜像及版本。

      • 可以选择 Docker 官方推荐的 MySQL 镜像及版本,来创建 Kubernetes 应用。

        官方镜像

      • 可以使用自己的 MySQL 镜像来创建 Kubernetes 应用。但镜像需要成功上传到阿里云 Docker registry 才能使用。如果想要创建自己的镜像,请参考上传本地镜像

    2. 设置 Pod 总数

      Pod 是应用最小的部署单元。应用可以有多个 Pod,在负载均衡下,请求会被随机分配给某个 Pod 处理。MySQL 应用的 Pod 数建议设为 1。

      说明:在无状态应用的 Pod 运行失败或出现故障时,可以自动重启或者快速迁移,保证应用的高可用。但无状态应用重新部署时不保存实例数据。

    3. 设置单 Pod 资源配额

      系统默认不做配额限制,即单 Pod 的 CPU 和 Memory 显示为 0。如果需要限制配额,请填设置数字。

    4. 设置私网负载均衡端口映射,包括私网 SLB 端口容器端口网络协议

      系统默认免费给每个应用创建一个私网 SLB 服务,保证同 VPC 内都可访问您的应用,期间不会产生任何费用。

      • 私网负载均衡端口:指的是私网负载均衡前端端口,定义了容器和 SLB 的端口映射关系。
      • 容器端口:进程监听的端口。一般由程序定义。MySQL 服务默认使用 3306 端口等。容器端口可以与 SLB 端口设置相同。
      • 网络协议:可选 TCP 或 UDP 协议。
    5. 选择是否设置公网负载均衡

      注意:MySQL 不需要设置公网负载均衡。

      如果选择开启公网负载均衡设置,同样需要配置公网 SLB 端口容器端口网络协议。配置完成后,系统为您的应用自动购买一个公网 SLB 服务,按使用量计费。您的应用将可以通过公网访问。购买后的 SLB 信息可以在负载均衡控制台查看。

    6. (可选)在应用高级设置右侧,单击展开设置,可以在高级设置中,设置容器启动命令启动参数环境变量,保证应用启动时可以正常使用。

      注意

      • 若不了解原 Dockerfile 镜像的 CMDENTRYPOINT 内容,不建议修改自定义启动命令和启动参数,错误的自定义命令将导致应用创建失败。
      • 启动命令仅需输入 CMD 中括号内内容,如命令 CMD [“/usr/sbin/sshd”,”-D”],仅需填写 /usr/sbin/sshd –D
      • 启动参数一个参数写一行。如 args:[“-c”; “while sleep 2”; “do echo date“; “done”] 中包含4个参数,需要分为4行来填写。
      • 在创建应用过程中,将所填环境变量注入到即将生成的容器中,这样可以避免常用环境变量的重复添加。

        环境变量参数说明:

        • MYSQL_ROOT_PASSWORD 用于设置 MySQL 的 root 密码,必选项
        • MYSQL_USER 和 MYSQL_PASSWORD 用于添加除 root 之外的账号并设置密码,可选项。
        • MYSQL_DATABASE 用于设置生成容器时需要新建的数据库,可选项。

        本案例中,这3个可选的环境变量都需要配置,在设置 WordPress 应用中会用到,请保存。其它应用根据实际场景选择性设置可选参数。

        设置环境变量

    7. 设置完成后,单击创建

结果验证

应用创建可能需要几分钟,请耐心等待。创建完成后,返回应用详情页面查看基本信息中应用状态是否为运行正常

查看应用状态

2. 创建 WordPress 应用

创建 WordPress 应用的过程和创建 MySQL 应用的过程一致,参考创建 MySQL 应用完成。需要在以下几步中注意 WordPress 相应的配置。

  • 应用基本信息:设置 WordPress 应用基本信息时,部署集群需要设置成和 MySQL 应用所署的集群在同一个 VPC 内部。因为 MySQL 应用没有设置公网负载均衡,WordPress 应用需要通过私网负载均衡访问 MySQL。
  • 应用配置:为了提供公网访问,WordPress 应用除了私网负载均衡外,还需要设置公网负载均衡。容器端口和服务端口均设置为 80

设置完成后,进入该应用详情页面查看应用状态。运行正常表示应用创建成功。

3. 设置 WordPress 访问

  1. 在应用详情页面中复制 WordPress 应用的负载均衡(公网)地址。

    复制公网 SLB 地址

  2. 打开浏览器,在地址栏输入 http://WordPress 公网负载均衡地址/wp-admin/setup-config.php,并回车。

  3. 选择语言,然后单击继续

    本文档以中文简体为例。

    配置 WordPress

  4. 在 WordPress 的欢迎页面,确认需要准备的数据库信息,及此前安装的 MySQL 信息已准备好,然后单击现在就开始

  5. 设置数据库(MySQL 应用)相关信息,然后单击提交

    数据库名(MYSQL_DATABASE)、用户名(MYSQL_USER)和密码(MYSQL_PASSWORD)是在创建 MySQL 应用时配置的环境变量信息;数据库主机为 MySQL 应用的私网 SLB 地址。

    设置数据库信息

  6. 按页面提示,完成 WordPress 后续设置,包括设置 WordPress 的用户名和密码,直至完成。

    最后在浏览器地址栏输入公网 SLB 地址,回车,并输入 WordPress 的用户名和密码,就可以进入个人博客了。

    WordPress 应用案例首页