操作指南

API 文档

容器应用部署组

最近更新时间:2020-09-24 19:11:39

操作场景

该任务指导您通过 TSF 控制台对容器应用部署组进行操作,包括:创建部署组、删除部署组、部署应用、启动应用、应用扩缩容等。

操作步骤

创建部署组

  1. 登录 TSF 控制台
  2. 单击左侧导航栏中的 【部署组】。
  3. 在页面顶部选择集群。
  4. 单击部署组列表上方的【新建部署组】。
  5. 设置部署组相关信息。
    • 部署组名称:部署组的名称,不超过60个字符。
    • 命名空间:选择命名空间。
    • 关联应用:选择部署组关联的应用。关联应用字段决定了后续镜像来源和应用配置来源。
    • 日志配置项:选择日志配置项,用于采集应用的业务日志数据。
    • 日志投递:指定日志的转储方式,将规则指定路径中的日志内容投递到指定的接收端。如果配置为"无",将不投递业务日志。更多关于日志投递的功能说明请参考 日志投递

部署应用

前提条件:已经将镜像推送到应用的镜像仓库中,参考 制作镜像镜像仓库

部署流程

  1. 单击部署组列表页右侧的【部署应用】。

  2. 设置部署信息。

    • 选择镜像:选择要部署的镜像。

    • JVM 启动参数(选填,仅适用普通应用):设置 Java 应用的启动参数。参数会通过JAVA_OPTS环境变量带到容器运行环境中,参考 制作镜像 中的使用方式。

    • 更新方式:选择部署的更新方式。

      • 快速更新:直接关闭所有实例,启动相同数量的新实例。
      • 滚动更新(推荐):对实例进行逐个更新,这种方式可以让您不中断业务实现对服务的更新。
      • 更新策略:滚动更新方式可以设置更新策略,详情请参考 Kubernetes Deployment 滚动更新策略容器服务实例优雅下线 最佳实践进行配置。
    • 健康检查:存活检查用于判断何时重启实例,就绪检查用于判断 Pod 何时变为 Ready 状态,会影响滚动更新。详情参考 Kubernetes 配置存活和就绪检查

    • 环境变量:设置应用容器设置的环境变量。

    • 资源配置:设置实例中容器的 CPU 和内存 request 和 limit,以及实例数。

      • 应用容器:运行用户指定的应用镜像,根据应用负载指定 CPU 和内存的资源限制。
      • agent 容器:负责日志、JVM 监控、调用链数据的采集,如果不部署 agent 容器将影响这些功能的使用。
      • istio_proxy 容器:负责 Mesh 服务注册、流量转发等任务,通常使用默认的资源限制即可。
      • 实例数量:实例数和实例资源限制的乘积不能超过集群剩余的可用资源。
    • 访问设置

      • 网络访问方式:参考 网络访问方式 了解不同访问方式的区别。
      • 端口映射:容器端口与服务端口的映射关系。

通过直接编辑 YAML 更新部署组

容器部署组对应的 Kubernetes 里面的DeploymentService对象,如果您希望直接修改 YAML 实现更能灵活地配置,可以按照下述步骤操作:

  1. 单击部署组 ID 进入详情页,单击【基本信息】标签页。
  2. 在基本信息卡片中找到 YAML 字段,单击【查看与编辑】,显示DeploymentService的 YAML。
  3. 单击【编辑】按钮,进入 YAML 编辑页面,编辑 YAML。
  4. 单击【提交】按钮,容器部署组会以更新后的 YAML 进行重新部署。

应用扩缩

  1. 单击部署组右侧的【更多】>【应用扩缩】。
  2. 选择扩缩的实例数量后,单击【提交】。

删除部署组

  1. 单击部署组列表页右侧的【删除】。
  2. 弹出提示页面,显示部署组内的实例信息,单击【确定】删除部署组。

网络访问方式

容器部署组的访问方式定义访问后端 Pod 的访问方式,并提供固定的虚拟访问 IP。您可以在 Service 中通过设置来访问后端的 Pod,不同访问方式的服务可提供不同网络能力。

TSF 目前提供以下四种服务访问方式:

访问方式 说明
提供公网访问
  • 使用 Service 的 Loadbalance 模式,公网 IP 可直接访问到后端的 Pod,适用于 Web 前台类的服务。
  • 创建完成后的服务在集群外可通过负载均衡域名或 IP + 服务端口访问服务,集群内可通过部署组名称 + 服务端口访问服务。
仅在集群内访问
  • 使用 Service 的 ClusterIP 模式,自动分配 Service 网段中的 IP,用于集群内访问。数据库类等服务如 MySQL 可以选择集群内访问,以保证服务网络隔离。
  • 创建完成后的服务可以通过部署组名称 + 服务端口访问服务。
VPC 内网访问
  • 使用 Service 的 Loadbalance 模式,指定 annotations:service.kubernetes.io/qcloud-loadbalancer-internal-subnetid: subnet-xxxxxxxx,即可通过内网 IP 直接访问到后端的 Pod。
  • 创建完成后的服务在集群外可通过负载均衡域名或 IP + 服务端口访问服务,集群内可通过部署组名 + 服务端口访问服务。
主机端口(NodePort)访问
  • 提供一个主机端口映射到容器的访问方式,支持 TCP、UDP、Ingress。可用于业务定制上层 LB 转发到 Node。
  • 创建完成后的服务可以通过云服务器 IP+主机端口部署组名称 + 服务端口访问服务。
注意:

一个账号在单地域创建的公网负载均衡 LB 实例有数量限制,参考负载均衡 使用约束。如需要扩大负载均衡实例限额,请提工单处理。

TSF 和 TKE 容器部署的区别

TSF 简化了容器应用部署的参数配置,能做到自动处理,对比 TKE(容器服务)区别如下:

挂载点和数据卷

TSF 将应用配置日志项路径设置为挂载点,并自动创建数据卷并映射(本地硬盘)。

TSF 应用关联日志配置项路径:

TKE 界面如下:

目录