本章节以样例项目内置的部署任务“phoenix-cd-cce”为例进行讲解如何部署应用到 云容器引擎。
购买并配置 CCE 环境
本文档中使用的是云容器引擎CCE。
步骤1 购买Kubernetes集群。
本文档中建议参照表1-31配置购Kubernetes集群配置如下(表中未涉及的可保留默认 值)。
表1-31 Kubernetes 集群购买配置 配置分类 配置项 配置建议
服务选型 计费模式 选择“按需计费”。
区域 最好选择部署任务所在的区域(若项目所在区域资源已售 罄,可选其他区域)。
企业项目 选择“default”。
集群名称 自定义(为避免帐号下购买过多个集群时不易查找的情 况,建议修改系统默认集群名称,使用易于辨认的名 称)。
版本 选择“v1.17.17”。
网络类型 选择“容器隧道网络”。
操作系统 选择“EulerOS2.5”。“公共镜像”
弹性IP 选择“自动创建”。
规格 选择“静态BGP”。
登录方式 选择“密码”。
密码 自定义。
步骤2 配置Kubectl。
1. 登录云容器引擎控制台,在页面左侧导航中选择“集群管理”,找到在上一步中
2. 单击“命令行工具”,在下拉列表中选择“Kubectl”,如图1-80所示。
图1-80 命令行工具
3. 向下浏览页面,在如图1-81所示位置下载kubectl配置文件至本地。
图1-81 下载 kubectl 配置文件
4. 单击页面左上角图标 ,选择“弹性云服务器”。
找到购买Kubernetes集群时创建的节点主机,单击“远程登录”,打开并登录云 主机。
5. 输入以下命令,创建配置文件。
mkdir .kube cd .kube sudo vim config
6. 复制kubectl配置文件的全部内容,粘贴至主机中。
7. 敲击Esc后,输入以下命令退出并保存kubectl配置文件。
:wq!
----结束
调整 yaml 文件配置
调整代码仓库中的yaml文件,使其适配华为云CCE提供的版本。
步骤1 进入“凤凰商城”项目,单击页面上方导航“代码 > 代码托管”,选择代码仓库
“phoenix-sample”。
步骤2 更新文件“kompose/db-deployment.yaml”,如图1-82所示。
● 将第1行中“extensions/v1beta1”修改为“apps/v1”。
● 找到“spec”代码段中,添加以下代码行。
selector:
matchLabels:
io.kompose.service: db
● 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
图1-82 更新文件“kompose/db-deployment.yaml”
● 将第1行中“extensions/v1beta1”修改为“apps/v1”。
● 找到“spec”代码段中,添加以下代码行。
selector:
matchLabels:
io.kompose.service: redis
● 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
步骤4 更新文件“kompose/result-deployment.yaml”。
● 将第1行中“extensions/v1beta1”修改为“apps/v1”。
● 找到“spec”代码段中,添加以下代码行。
selector:
matchLabels:
io.kompose.service: result
● 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
步骤5 更新文件“kompose/vote-deployment.yaml”。
● 将第1行中“extensions/v1beta1”修改为“apps/v1”。
● 找到“spec”代码段中,添加以下代码行。
selector:
matchLabels:
io.kompose.service: vote
● 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
步骤6 更新文件“kompose/worker-deployment.yaml”。
● 将第1行中“extensions/v1beta1”修改为“apps/v1”。
● 找到“spec”代码段中,添加以下代码行。
selector:
matchLabels:
io.kompose.service: worker
● 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
步骤7 单击页面上方导航“构建&发布 > 编译构建”,执行任务“phoenix-sample-ci”。
----结束
本文档中使用的主机组名“phoenix-cce-hostgroup”,操作系统为“Linux”。
2. 向主机组中添加主机。
将购买集群时创建的节点主机至新创建的主机组中。其中,该主机的主机名、
IP、用户名可参考查看弹性云服务器详细信息获取,SSH端口为“22”。
步骤2 配置部署任务。
1. 进入“凤凰商城”项目,单击页面上方导航“构建&发布 > 部署”,进入部署服 务。
找到部署任务“phoenix-cd-cce”,单击此任务对应操作列中的图标 ,进入
“编辑任务”页面。
2. 单击页面上方导航“构建&发布 > 部署”,页面将显示样例项目自动创建的部署 任务“phoenix-sample-cce”,如图1-83所示。
图1-83 部署
3. 单击图标 进入编辑页面。
4. 在“部署步骤”页签,编辑部署任务的步骤。
a. 参照表1-32配置步骤“选择部署来源”,如图1-84所示。
表1-32 部署来源配置 配置项 配置建议
选择源类型 选择“构建任务”。
主机组 选择“phoenix-cce-hostgroup”。页面会显示弹框“是否
将后续步骤的主机组也修改为phoenix-cce-hostgroup?”,单击“确定”即可。
请选择构建
任务 选择“phoenix-sample-ci”。
下载到主机
的部署目录 输入“/root/phoenix-sample-deploy”。
图1-84 选择部署来源
b. 删除步骤“执行shell命令”中的命令行,修改为以下命令。
echo '${docker-server}' echo '${docker-username}' echo '${docker-password}'
kubectl delete secret regcred
kubectl create secret docker-registry regcred server='${docker-server}' username='${docker-username}' password='${docker-password}' [email protected]
kubectl delete -f /root/phoenix-sample-deploy/kompose/
kubectl apply -f /root/phoenix-sample-deploy/kompose/
c. 步骤“解压文件”保持默认配置即可。
5. 选择“参数设置”页签,根据容器镜像服务登录指令填写参数。
登录指令通过控制台获取,操作方式请参考配置SWR服务。
6. 单击“保存”,完成部署任务的编辑。页面自动跳转至任务详情页。
步骤3 执行部署任务。
单击“执行”,启动部署任务。
任务执行耗时约1分钟,当出现如图1-85所示的页面时,表示任务执行成功。
若任务执行失败,请参照部署-常见问题-任务步骤问题排查。
图1-85 部署成功
步骤4 验证部署结果。
1. 登录云容器引擎控制台
2. 单击页面左侧导航“工作负载 > 无状态负载(Deployment)”,页面中显示5条 记录,状态均为“运行中”,如图1-86所示。
图1-86 无状态负载(Deployment)
3. 在列表中单击“vote”,选择“访问方式”页签,单击“添加Service”。
4. 访问类型选择“节点访问(NodePort)”,输入Service名称“phoenix-vote”、
容器端口“80”、,其余配置保持默认,单击“创建”保存,如图1-87所示。
图1-87 添加 Service
5. 返回“工作负载 > 无状态负载(Deployment)”页面,复制“vote”所对应的弹
页面显示如图1-88所示的页面,在导航栏中可看到菜单项“门店网络”。
图1-88 用户端 UI
6. 返回“无状态负载(Deployment)”页面,在列表中单击“result”,参照流程
3~5配置“result”(其中),最终显示如图1-89所示页面。
图1-89 管理端 UI
----结束