步骤六:部署应用(CCE篇)
部署服务提供可视化、自动化部署服务。提供丰富的部署步骤,有助于用户制定标准的部署流程,降低部署成本,提升发布效率。
为了可以更快的、更稳定的持续地交付软件,开发团队需要一部分自助化部署服务的能力,以减轻部分后续维护工作。
本章节介绍开发人员Chris如何将发布件部署至云容器引擎。若您需要了解如何署至ECS,请参照步骤六:部署应用(ECS篇)操作。
预置应用简介
样例项目中预置了如表1所示的3个应用,本章节以应用“phoenix-cd-cce”为例进行讲解。
购买并配置云容器引擎
本文档中使用的是云容器引擎CCE。
- 购买CCE集群。
- 配置Kubectl。
- 登录云容器引擎控制台,在“集群管理”页面找到已购买的集群。
- 单击集群名称进入“集群信息”页面,单击“kubectl”后的“点击查看”,在弹框中下载kubectl配置文件至本地。
图1 下载kubectl配置文件
- 单击页面左上角图标
,选择 。
找到购买集群时创建的节点主机,单击“远程登录”,打开并登录弹性云服务器。
- 依次输入以下命令,创建配置文件。
mkdir .kube cd .kube sudo vim config
- 复制kubectl配置文件的全部内容,粘贴至弹性云服务器中。
请确认已将kubectl配置文件的全部内容粘贴至弹性云服务器中,否则部署应用将会失败。
- 敲击Esc后,输入以下命令退出并保存kubectl配置文件。
:wq!
调整yaml文件配置
调整代码仓库中的yaml文件,使其适配华为云CCE提供的版本。
- 进入“凤凰商城”项目,单击导航 ,选择代码仓库“phoenix-sample”。
- 更新文件“kompose/db-deployment.yaml”。
- 将第1行中“extensions/v1beta1”修改为“apps/v1”。
- 找到“spec”代码段,添加以下代码行。
selector: matchLabels: io.kompose.service: db
- 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
图2 更新文件 - 更新文件“kompose/redis-deployment.yaml”。
- 将第1行中“extensions/v1beta1”修改为“apps/v1”。
- 找到文件中第一次出现的“spec”,在代码段中添加以下代码行。
selector: matchLabels: io.kompose.service: redis
- 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
- 更新文件“kompose/result-deployment.yaml”。
- 将第1行中“extensions/v1beta1”修改为“apps/v1”。
- 找到文件中第一次出现的“spec”代码段,添加以下代码行。
selector: matchLabels: io.kompose.service: result
- 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
- 更新文件“kompose/vote-deployment.yaml”。
- 将第1行中“extensions/v1beta1”修改为“apps/v1”。
- 找到文件中第一次出现的“spec”代码段,添加以下代码行。
selector: matchLabels: io.kompose.service: vote
- 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
- 更新文件“kompose/worker-deployment.yaml”。
- 将第1行中“extensions/v1beta1”修改为“apps/v1”。
- 找到文件中第一次的“spec”代码段,添加以下代码行。
selector: matchLabels: io.kompose.service: worker
- 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
- 单击导航“phoenix-sample-ci”。 ,执行任务
配置并执行应用
部署需要用到购买集群时创建的节点主机,并将构建任务“phoenix-sample-ci”设置为部署来源。
- 配置目标主机。
- 进入“凤凰商城”项目,单击导航栏 。
- 单击“新建主机集群”,输入集群名称“cce”、选择操作系统“Linux”、关闭“使用代理机接入”开关,单击“保存”。
- 单击“新增目标主机”,在弹框中配置以下信息,勾选同意声明后,单击“添加”。
表4 新增目标主机 配置项
配置建议
主机名
输入自定义主机名称。为了方便辨认,可与在购买并配置云容器引擎中购买的节点名称保持一致。
IP
输入在购买并配置云容器引擎中购买的节点的IP。
用户名
输入“root”。
密码
输入在购买并配置云容器引擎中购买的节点的密码。
ssh端口
输入“22”。
- 页面显示一条主机记录,当“连通性验证”列的值显示为“成功”,表示主机添加完成。
若主机添加失败,请参考部署-常见问题-主机管理排查。
- 单击导航“phoenix-cd-cce”。 。找到应用
- 单击图标
,在下拉列表中单击“编辑”,进入编辑页面。
- 选择“环境管理”页签,配置主机信息。
- 单击“新建环境”,输入环境名称“phoenix-cce-hostgroup”、选择资源类型“主机”、操作系统“Linux”,单击“保存”。
- 列表中新增一条环境记录,单击环境名称,在滑出的窗口中选择“资源列表”页签。
- 单击“导入主机”,在弹框中的下拉列表中选择1中创建的主机集群,并在列表中勾选主机,单击“导入”。
- 页面提示导入成功,关闭此窗口。
- 选择“部署步骤”页签,编辑步骤。
- 参照表5配置步骤“选择部署来源”。
- 步骤“解压文件”与“执行shell命令”保持默认配置即可。
- 选择“参数设置”页签,根据容器镜像服务登录指令填写参数。
登录指令通过控制台获取,操作方式请参考配置SWR服务。
- 单击“保存并部署”,在弹框中单击“确定”。
当页面中显示部署成功时,表示部署完成。若部署失败,请参照部署-常见问题-自定义应用步骤问题排查。
- 验证部署结果。
- 登录云容器引擎控制台。
- 找到目标集群,单击
,选择“无状态负载”页签。
页面中显示5条记录,状态均为“运行中”。
- 单击“vote”进入详情页,在“访问方式”页签中单击 。
参照表6配置参数,单击“确定”。
表6 更新服务 参数名称
参数值
访问类型
选择“节点访问”。
服务亲和
选择“集群级别”。
容器端口
输入“80”。
服务端口
输入“5000”。
节点端口
根据实际需要配置端口号,本文中选择“自动生成”。
图3 更新服务 - 更新成功,返回列表中,记录“端口/协议”列中文字下方有虚线的端口号。
图4 工作负载访问方式
- 打开新的浏览器页面,在地址栏中输入“http://ip:端口号”。
其中,ip为购买并配置云容器引擎时,为节点绑定的弹性IP;端口号为在8.d中记录的端口号。
页面显示如图5所示的页面,在导航栏中可看到菜单项“门店网络”。
- 返回“无状态负载”页面,参照8.c更新“result”(其中,服务端口为“5001”)。
创建成功后,在新的浏览器页面中输入节点ip及服务端口号,最终显示如图6所示页面。