You need to enable JavaScript to run this app.
导航
创建和部署托管应用(容器镜像)
最近更新时间:2024.07.24 17:42:44首次发布时间:2024.05.15 10:26:29

通过容器镜像的方式部署托管应用,不受技术栈语言的约束和限制。本文为您介绍如何通过容器镜像的方式快速创建一个托管应用,并部署至 Kubernetes 集群。

前提条件

  • 已准备好待使用的容器镜像。

  • 已接入待部署的 Kubernetes 集群,具体操作请参见 接入部署资源

注意

若选择弹性容器实例部署应用,部署资源必须为容器服务 VKE 集群,且集群中需提前安装 vci-virtual-kubelet 组件。

操作步骤

  1. 登录应用管理页面。

    1. 登录 持续交付控制台

    2. 在左侧导航栏选择 工作区

    3. 单击目标工作区名称,进入当前工作区。

    4. 在左侧导航栏选择 应用交付 > 应用管理

  2. 在应用管理页面,单击 创建应用

  3. 在创建应用页面,选择 应用托管,并按要求填写应用的相关配置信息。

    1. 填写 应用信息,填写完成后单击 下一步:基础配置
      alt

      配置项说明
      应用标识根据界面提示填写应用标识。应用标识是应用的唯一标识,创建后不可更改。
      应用显示名自定义应用的显示名称。
      应用技术栈本场景选择 其他
      描述填写当前应用的备注信息,可以为空。

      成员管理

      快捷配置当前应用的成员,并为每个成员配置不同的权限,满足多角色协作进行应用交付的需求。

      • 添加成员:为当前应用添加多个成员,仅支持选择拥有当前工作区可见权限的用户。系统将默认添加火山引擎账号(主账号)及应用创建者为管理员。

      • 权限:系统预置管理员、只读共两种角色。每个成员支持配置一个或多个角色的权限。

      说明

      不允许取消主账号的管理员权限,不允许删除主账号。

    2. 填写 基础配置,填写完成后单击 下一步:环境配置

      alt

      配置项说明
      部署方式本场景选择 镜像部署
      应用镜像输入应用使用的镜像地址,镜像地址格式为host/namespace/repo:tag
      镜像拉取鉴权如果使用的镜像为私有镜像,需要打开镜像拉取鉴权开关,并输入正确的镜像仓库用户名和密码。

      版本号

      自定义应用的版本号。
      可单击右侧的 版本号使用时间戳,自动生成版本号。

      弹性容器实例

      是否以弹性容器实例方式部署应用。使用该方式部署应用,无需管理底层云服务器等基础设施,只需提供镜像即可运行容器,并为实际消耗的资源付费。计费详情,请参见 弹性容器计费说明

      • 勾选,则以弹性容器实例方式部署应用。
      • 不勾选,则以普通 Kubernetes 方式部署应用。

      注意

      若选择弹性容器实例部署应用,部署资源必须为容器服务 VKE 集群,且集群中需提前安装 vci-virtual-kubelet 组件。

      服务规格

      根据业务需求定义应用的服务规格,包括:实例数、每个实例的 CPU 和内存规格。支持 默认规格自定义规格

      • 默认规格:支持自定义实例数,并提供了常用的 CPU 和内存组合,请根据业务需要选择合适的组合。默认规格中,CPU 请求 = CPU 上限;内存请求 = 内存上限。
      • 自定义规格:如果默认规格不能满足您的需求,支持自定义规格,包括:自定义实例数、CPU 请求、CPU 上限、内存请求、内存上限。其中,CPU 请求 ≤ CPU 上限;内存请求 ≤ 内存上限。

      说明

      • 对于弹性容器实例方式部署,CPU 和内存只需定义上限。系统会根据您选择的上限,提供最相近的 VCI 实例规格。
      • 对于普通 Kubernetes 方式部署,CPU 和内存允许不限制资源上限。
    3. 填写 环境配置,填写完成后单击 下一步:高级配置

      alt

      配置项说明

      部署资源

      选择应用实际部署的位置,例如 Kubernetes 集群、云服务器、虚拟机、物理机等。当前仅支持 Kubernetes 集群类型的部署资源。

      注意

      若上一步勾选以弹性容器实例方式部署,部署资源必须为容器服务 VKE 集群,且集群中需提前安装 vci-virtual-kubelet 组件,否则无法进行下一步。

      Namespace选择具体的命名空间。Kubernetes 使用命名空间用于逻辑隔离,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。
      环境标识设置当前环境的唯一标识,默认使用${应用标识}-prod,支持自定义。环境标识创建成功后不支持修改。
    4. (可选)填写 高级配置

      alt

      • 启动命令
      配置项说明

      启动方式

      配置应用的启动方式。支持以下两种启动方式,请按需选择。

      • 云原生命令:根据业务需求指定启动命令和启动参数。如不填写,则根据镜像的 ENTRYPOINT 配置完成应用的启动。

      • 自定义脚本:如果应用启动前需要执行一系列初始化脚本,推荐通过编写自定义脚本的方式来启动应用。

      • 环境变量
      配置项说明

      环境变量

      按需配置环境变量。环境变量的信息会注入应用运行的环境中,以便在运行时动态地配置应用程序。
      单击 + 环境变量,输入环境变量的 key 和 value。

      • 健康检查
        当前为存活检查:检查容器是否正在运行,探测失败时会重启容器。
      配置项说明

      检查方式

      • HTTP 请求检查:使用 HTTP 或 HTTPS 协议,向容器发送一个 HTTP Get 请求,通过检查响应确认容器状态。您需要进行如下检查配置:

        • 协议:HTTP 或 HTTPS。

        • 请求头:HTTP 请求中自定义的请求头(HTTP Headers)。单击 添加, 输入请求头的 key 和 value。

        • 路径:输入业务代码中用于健康检查的访问路径。默认为/,支持修改。

        • 端口:输入应用的访问端口。默认为 8080,支持修改。

      • TCP 端口检查:向应用发送一个 TCP Socket,探测是否可正常建立连接。您需要进行如下检查配置:

        • 端口:输入应用的访问端口。默认为 8080,支持修改。

      时间设置

      配置检查的时间参数,包括:

      • 初始等待时间:指应用启动后,第一次执行探测时需要等待的时间,默认为 1 秒。

      • 超时时间:指发送检查请求后,等待响应的超时时间。超过此时间表示应用无响应,默认为 1 秒。

      • 检查间隔:相邻两次检查的时间间隔。默认为 10 秒。

      阈值设置

      配置检查的结果阈值,包括:

      • 成功阈值:检查请求发送后,表示系统正常的响应次数,默认为 1 次。该项不可配置。

      • 失败阈值:检查请求发送后,表示系统异常的无响应次数,默认为 3 次。即如果应用对请求 3 次无响应,则认为应用状态异常。

  4. 单击 确定,应用将开始部署。可在环境页签查看应用的部署进度。

操作结果

部署完成后,部署状态将变更为 已完成。可在实例列表页签查看部署的实例信息,运行状态为 running 表示部署成功。
alt

  • 查看实时日志:单击 实时日志,可查看实例的实时日志信息,方便运维和排障。
  • 查看事件:单击 事件,查看实例最近 1 小时内发生的事件信息。

后续操作

为应用创建 Service 资源,实现公网/私网访问。具体操作可参见 访问方式