发布 Kubernetes 应用案例
更新时间:2020-03-24 16:56:40
为了帮助您更好的了解如何使用 Kubernetes 发布应用,本文以 WordPress 为例说明如何用 Kubernetes 发布应用。
说明:WordPress 应用在使用时必须要依赖于数据库,所以本文档中,在创建 WordPress 应用前需要先创建 MySQL 应用。
1. 创建 MySQL 应用
前提条件
第一次创建 Kubernetes 应用前,需要在应用所在的区域先完成以下工作:
操作步骤
登录 EDAS 控制台。
在左侧导航栏,单击应用管理,进入应用列表页面。
在应用列表页面右上角,单击创建 Kubernetes 应用。
在应用基本信息页面中输入应用名称、并在下拉菜单中选择所在区域和部署集群,单击下一步。
应用状态默认为无状态,可支持多副本部署。无状态应用重新部署时不保存实例数据。
应用基本信息参数说明:
- 应用名称:填写自定义的应用名。注意应用名不能重复,且仅允许数字,小写字母以及中划线组成。字母打头,最大长度36个字符。
- 所在区域:选择相应的可用区域。
- 部署集群:在下拉菜单中选择相应的集群用来部署 MySQL 应用。
- 应用状态:默认支持无状态应用,不可设置。可支持多副本部署。无状态应用重新部署时不保存实例数据。
在应用配置页面中,配置应用参数。
单击镜像右侧的 + 按钮,在弹出的选择镜像对话框中选择镜像及版本。
可以选择 Docker 官方推荐的 MySQL 镜像及版本,来创建 Kubernetes 应用。
可以使用自己的 MySQL 镜像来创建 Kubernetes 应用。但镜像需要成功上传到阿里云 Docker registry 才能使用。如果想要创建自己的镜像,请参考上传本地镜像。
设置 Pod 总数。
Pod 是应用最小的部署单元。应用可以有多个 Pod,在负载均衡下,请求会被随机分配给某个 Pod 处理。MySQL 应用的 Pod 数建议设为 1。
说明:在无状态应用的 Pod 运行失败或出现故障时,可以自动重启或者快速迁移,保证应用的高可用。但无状态应用重新部署时不保存实例数据。
设置单 Pod 资源配额。
系统默认不做配额限制,即单 Pod 的 CPU 和 Memory 显示为 0。如果需要限制配额,请填设置数字。
设置私网负载均衡端口映射,包括私网 SLB 端口、容器端口和网络协议。
系统默认免费给每个应用创建一个私网 SLB 服务,保证同 VPC 内都可访问您的应用,期间不会产生任何费用。
- 私网负载均衡端口:指的是私网负载均衡前端端口,定义了容器和 SLB 的端口映射关系。
- 容器端口:进程监听的端口。一般由程序定义。MySQL 服务默认使用 3306 端口等。容器端口可以与 SLB 端口设置相同。
- 网络协议:可选 TCP 或 UDP 协议。
选择是否设置公网负载均衡。
注意:MySQL 不需要设置公网负载均衡。
如果选择开启公网负载均衡设置,同样需要配置公网 SLB 端口、容器端口和网络协议。配置完成后,系统为您的应用自动购买一个公网 SLB 服务,按使用量计费。您的应用将可以通过公网访问。购买后的 SLB 信息可以在负载均衡控制台查看。
(可选)在应用高级设置右侧,单击展开设置,可以在高级设置中,设置容器启动命令及启动参数及环境变量,保证应用启动时可以正常使用。
注意:
- 若不了解原 Dockerfile 镜像的 CMD 和 ENTRYPOINT 内容,不建议修改自定义启动命令和启动参数,错误的自定义命令将导致应用创建失败。
- 启动命令仅需输入 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 应用中会用到,请保存。其它应用根据实际场景选择性设置可选参数。
设置完成后,单击创建。
结果验证
应用创建可能需要几分钟,请耐心等待。创建完成后,返回应用详情页面查看基本信息中应用状态是否为运行正常。
2. 创建 WordPress 应用
创建 WordPress 应用的过程和创建 MySQL 应用的过程一致,参考创建 MySQL 应用完成。需要在以下几步中注意 WordPress 相应的配置。
- 应用基本信息:设置 WordPress 应用基本信息时,部署集群需要设置成和 MySQL 应用所署的集群在同一个 VPC 内部。因为 MySQL 应用没有设置公网负载均衡,WordPress 应用需要通过私网负载均衡访问 MySQL。
- 应用配置:为了提供公网访问,WordPress 应用除了私网负载均衡外,还需要设置公网负载均衡。容器端口和服务端口均设置为 80。
设置完成后,进入该应用详情页面查看应用状态。运行正常表示应用创建成功。
3. 设置 WordPress 访问
在应用详情页面中复制 WordPress 应用的负载均衡(公网)地址。
打开浏览器,在地址栏输入
http://WordPress公网负载均衡地址/wp-admin/setup-config.php
,并回车。选择语言,然后单击继续。
本文档以中文简体为例。
在 WordPress 的欢迎页面,确认需要准备的数据库信息,及此前安装的 MySQL 信息已准备好,然后单击现在就开始。
设置数据库(MySQL 应用)相关信息,然后单击提交。
数据库名(MYSQL_DATABASE)、用户名(MYSQL_USER)和密码(MYSQL_PASSWORD)是在创建 MySQL 应用时配置的环境变量信息;数据库主机为 MySQL 应用的私网 SLB 地址。
按页面提示,完成 WordPress 后续设置,包括设置 WordPress 的用户名和密码,直至完成。
最后在浏览器地址栏输入公网 SLB 地址,回车,并输入 WordPress 的用户名和密码,就可以进入个人博客了。