更新时间:2023-12-07 GMT+08:00

创建容器工作负载

在本章节中,您将会把应用部署到CCE中。首次使用CCE时,您需要创建一个初始集群,并添加一个节点。

应用镜像上传到容器镜像服务后,部署容器应用的方式都是基本类似的。不同点在于是否需要设置环境变量,是否需要使用云存储,这些也是和业务直接相关。

使用云服务

  • 云容器引擎CCE:提供高可靠高性能的企业级容器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动化容器运行环境搭建。
  • 弹性云服务器ECS:一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。
  • 虚拟私有云VPC:是用户在云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。

基本概念

  • 集群:集群是计算资源的集合,包含一组节点资源,容器运行在节点上。在创建容器应用前,您需要存在一个可用集群。
  • 节点:节点是指接入到平台的计算资源,包括虚拟机、物理机等。用户需确保节点资源充足,若节点资源不足,会导致创建应用等操作失败。
  • 容器工作负载:容器工作负载指运行在CCE上的一组实例。CCE提供第三方应用托管功能,提供从部署到运维全生命周期管理。本节指导用户通过容器镜像创建您的第一个容器工作负载。

操作步骤

  1. 创建集群前,您需要设置好如表1中的环境。

    表1 准备环境列表

    序列

    类别

    操作步骤

    1

    创建虚拟私有云

    您需要创建虚拟私有云,为CCE集群提供一个隔离的、用户自主配置和管理的虚拟网络环境。

    若您已有虚拟私有云,可重复使用,无需多次创建。

    1. 登录管理控制台。
    2. 在服务列表中,选择“网络 > 虚拟私有云”。
    3. 在“总览”界面,单击“创建虚拟私有云”。
    4. 根据界面提示创建虚拟私有云。如无特殊需求,界面参数均可保持默认。

    2

    创建密钥对

    您需要新建一个密钥对,用于远程登录节点时的身份认证。若您已有密钥对,可重复使用,无需多次创建。

    1. 登录管理控制台。
    2. 在服务列表中,选择“数据加密服务 DEW”。
    3. 选择左侧导航中的“密钥对管理”,选择“私有密钥对”,单击“创建密钥对”。
    4. 输入密钥对名称,勾选“我同意将密钥对私钥托管”“我已经阅读并同意《密钥对管理服务免责声明》”,单击“确定”。
    5. 在弹出的对话框中,单击“确定”。

      请根据提示信息,查看并保存私钥。为保证安全,私钥只能下载一次,请妥善保管,否则将无法登录节点。

  2. 创建集群和节点。

    1. 登录CCE控制台。在“集群管理”页面选择需要创建的集群类型,单击“创建”。

      填写集群参数,选择1中创建的VPC。

    2. 购买节点,选择1中创建的密钥对作为登录选项。

  3. 部署工作负载到CCE。

    1. 登录CCE控制台,进入集群,在左侧导航栏选择“工作负载”,单击右上角的“创建负载”
    2. 输入以下参数,其它保持默认。
      • 工作负载名称:apptest。
      • 实例数量:1。
    3. “容器配置”中选择制作并上传镜像中上传的镜像。
    4. “容器配置”中选择“环境变量”,添加环境变量,用于对接MySQL数据库。此处的环境变量由开机运行脚本中设置。

      本例对接了MySQL数据库,用环境变量的方式来对接。请根据您业务的实际情况,来决定是否需要使用环境变量。

      表2 配置环境变量

      变量名称

      变量/变量引用

      MYSQL_DB

      数据库名称。

      MYSQL_URL

      数据库部署的“IP:端口”

      MYSQL_USER

      数据库用户名。

      MYSQL_PASSWORD

      数据库密码。

    5. “容器配置”中选择“数据存储”,为实现数据的持久化存储,需要设置为云存储。

      本例使用了MongoDB数据库,并需要数据持久化存储,所以需要配置云存储。请根据您业务的实际情况,来决定是否需要使用云存储。

      此处挂载的路径,需要和docker开机运行脚本中的mongoDB存储路径相同,请参见开机运行脚本,本例中为/usr/local/mongodb/data

    6. “服务配置”中单击添加服务,设置工作负载访问参数,设置完成后,单击“确定”

      本例中,将应用设置为“通过弹性公网IP的方式”被外部互联网访问。

      • Service名称:输入应用发布的可被外部访问的名称,设置为:apptest。
      • 访问类型:选择“节点访问 ( NodePort )”
      • 服务亲和:
        • 集群级别:集群下所有节点的IP+访问端口均可以访问到此服务关联的负载,服务访问会因路由跳转导致一定性能损失,且无法获取到客户端源IP。
        • 节点级别:只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载,服务访问没有因路由跳转导致的性能损失,且可以获取到客户端源IP。
      • 端口配置:
        • 协议:TCP。
        • 服务端口:访问Service的端口。
        • 容器端口:容器中应用启动监听的端口,该应用镜像请设置为:8080。
        • 节点端口:选择“自动生成”,系统会自动在当前集群下的所有节点上打开一个真实的端口号,映射到服务端口。
    7. 单击“创建工作负载”

      工作负载创建完成后,在工作负载列表中可查看到运行中的工作负载。

验证工作负载

工作负载创建完成后,可以通过访问工作负载验证部署是否成功。

在上面的部署中选择节点访问方式(NodePort),使用节点的“IP:端口”访问工作负载,如果能正常访问,则说明工作负载部署成功。

访问地址可以在工作负载详情页的访问方式页签下获取。