文档首页> 企业上云> 云上敏捷开发DevOps实践> 实施步骤> 步骤六:部署应用(CCE篇)
更新时间:2023-06-16 GMT+08:00
分享

步骤六:部署应用(CCE篇)

部署服务提供可视化、自动化部署服务。提供丰富的部署步骤,有助于用户制定标准的部署流程,降低部署成本,提升发布效率。

为了可以更快的、更稳定的持续地交付软件,开发团队需要一部分自助化部署服务的能力,以减轻部分后续维护工作。

本章节介绍开发人员Chris如何将发布件部署至云容器引擎。若您需要了解如何署至ECS,请参照步骤六:部署应用(ECS篇)操作。

预置应用简介

样例项目中预置了如表1所示的3个应用,本章节以应用“phoenix-cd-cce”为例进行讲解。

表1 预置应用

预置应用

应用说明

phoenix-sample-standalone

部署至ECS流程对应的应用。

phoenix-cd-cce

部署至CCE流程对应的应用。

phoenix-sample-test

部署至测试环境对应的应用。

购买并配置云容器引擎

本文档中使用的是云容器引擎CCE。

  1. 购买CCE集群

    其中集群及节点的必要配置建议参照表2表3,表中未涉及的可根据实际情况选择。
    表2 CCE集群购买配置

    配置分类

    配置项

    配置建议

    基础配置

    计费模式

    选择“按需计费”

    集群版本

    根据需要选择,建议选择最新版本。

    网络配置

    网络模型

    选择“容器隧道网络”

    虚拟私有云

    选择已有的虚拟私有云,若列表中没有合适的选项,单击“创建虚拟私有云”完成创建。

    控制节点子网

    选择已有的子网,若列表中合适的选项,单击“创建子网”完成创建。

    容器网段

    勾选“自动设置网段”

    表3 节点配置

    配置分类

    配置项

    配置建议

    计算配置

    计费模式

    选择“按需计费”

    节点类型

    选择“弹性云服务器-虚拟机”

    节点规格

    选择“通用型”、2核8G及以上规格即可。

    容器引擎

    选择“Docker”

    操作系统

    选择公共镜像中的Euler镜像。

    节点名称

    输入自定义名称 。

    登录方式

    选择“密码”

    密码

    输入自定义密码 。

    网络配置

    节点IP

    选择“随机分配”

    弹性公网IP

    选择“自动创建”

  2. 配置Kubectl。

    1. 登录云容器引擎控制台,在“集群管理”页面找到已购买的集群。
    2. 单击集群名称进入“集群信息”页面,单击“kubectl”后的“点击查看”,在弹框中下载kubectl配置文件至本地。
      图1 下载kubectl配置文件
    3. 单击页面左上角图标,选择弹性云服务器

      找到购买集群时创建的节点主机,单击“远程登录”,打开并登录弹性云服务器。

    4. 依次输入以下命令,创建配置文件。
      mkdir .kube 
      cd .kube
      sudo vim config
    5. 复制kubectl配置文件的全部内容,粘贴至弹性云服务器中。

      请确认已将kubectl配置文件的全部内容粘贴至弹性云服务器中,否则部署应用将会失败。

    6. 敲击Esc后,输入以下命令退出并保存kubectl配置文件。
      :wq!

调整yaml文件配置

调整代码仓库中的yaml文件,使其适配华为云CCE提供的版本。

  1. 进入“凤凰商城”项目,单击导航代码 > 代码托管,选择代码仓库“phoenix-sample”
  2. 更新文件“kompose/db-deployment.yaml”

    • 将第1行中“extensions/v1beta1”修改为“apps/v1”
    • 找到“spec”代码段,添加以下代码行。
      selector:
        matchLabels:
          io.kompose.service: db
    • 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”
    图2 更新文件

  3. 更新文件“kompose/redis-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-sample-ci”设置为部署来源。

  1. 配置目标主机。

    1. 进入“凤凰商城”项目,单击导航栏设置 > 通用设置 > 基础资源管理
    2. 单击“新建主机集群”,输入集群名称“cce”、选择操作系统“Linux”、关闭“使用代理机接入”开关,单击“保存”
    3. 单击“新增目标主机”,在弹框中配置以下信息,勾选同意声明后,单击“添加”
      表4 新增目标主机

      配置项

      配置建议

      主机名

      输入自定义主机名称。为了方便辨认,可与在购买并配置云容器引擎中购买的节点名称保持一致。

      IP

      输入在购买并配置云容器引擎中购买的节点的IP。

      用户名

      输入“root”

      密码

      输入在购买并配置云容器引擎中购买的节点的密码。

      ssh端口

      输入“22”

    4. 页面显示一条主机记录,当“连通性验证”列的值显示为“成功”,表示主机添加完成。

      若主机添加失败,请参考部署-常见问题-主机管理排查。

  2. 单击导航持续交付 > 部署。找到应用“phoenix-cd-cce”
  3. 单击图标,在下拉列表中单击“编辑”,进入编辑页面。
  4. 选择“环境管理”页签,配置主机信息。

    1. 单击“新建环境”,输入环境名称“phoenix-cce-hostgroup”、选择资源类型“主机”、操作系统“Linux”,单击“保存”
    2. 列表中新增一条环境记录,单击环境名称,在滑出的窗口中选择“资源列表”页签。
    3. 单击“导入主机”,在弹框中的下拉列表中选择1中创建的主机集群,并在列表中勾选主机,单击“导入”
    4. 页面提示导入成功,关闭此窗口。

  5. 选择“部署步骤”页签,编辑步骤。

    1. 参照表5配置步骤“选择部署来源”
      表5 部署来源配置

      配置项

      配置建议

      选择源类型

      选择“构建任务”

      环境

      选择“phoenix-cce-hostgroup”。页面会显示弹框“是否将后续步骤的环境也修改为phoenix-cce-hostgroup?”,单击“确定”即可。

      请选择构建任务

      选择“phoenix-sample-ci”

      下载到主机的部署目录

      输入“/root/phoenix-sample-deploy”

    2. 步骤“解压文件”“执行shell命令”保持默认配置即可。

  6. 选择“参数设置”页签,根据容器镜像服务登录指令填写参数。

    登录指令通过控制台获取,操作方式请参考配置SWR服务

  7. 单击“保存并部署”,在弹框中单击“确定”

    当页面中显示部署成功时,表示部署完成。若部署失败,请参照部署-常见问题-自定义应用步骤问题排查。

  8. 验证部署结果。

    1. 登录云容器引擎控制台
    2. 找到目标集群,单击,选择“无状态负载”页签。

      页面中显示5条记录,状态均为“运行中”

    3. 单击“vote”进入详情页,在“访问方式”页签中单击更多 > 更新
      参照表6配置参数,单击“确定”
      表6 更新服务

      参数名称

      参数值

      访问类型

      选择“节点访问”

      服务亲和

      选择“集群级别”

      容器端口

      输入“80”

      服务端口

      输入“5000”

      节点端口

      根据实际需要配置端口号,本文中选择“自动生成”

      图3 更新服务
    4. 更新成功,返回列表中,记录“端口/协议”列中文字下方有虚线的端口号。
      图4 工作负载访问方式
    5. 打开新的浏览器页面,在地址栏中输入“http://ip:端口号”

      其中,ip为购买并配置云容器引擎时,为节点绑定的弹性IP;端口号为在8.d中记录的端口号。

      页面显示如图5所示的页面,在导航栏中可看到菜单项“门店网络”

      图5 用户端UI
    6. 返回“无状态负载”页面,参照8.c更新“result”(其中,服务端口为“5001”)。
      创建成功后,在新的浏览器页面中输入节点ip及服务端口号,最终显示如图6所示页面。
      图6 管理端UI

分享:

    相关文档

    相关产品