通用方案:专有云禁止天基启动app容器

通用方案:专有云禁止天基启动app容器

更新时间:2020-07-06 16:00:53

1. 概述

本文主要介绍专有云禁止天基启动app容器。

1.1. 适用范围

  • 专有云V3,天基

  • 专有云V2,天基

1.2. 用户告知

  • 操作方式:黑屏。
  • 操作复杂度:低。
  • 风险等级:低。
    说明:停止服务操作需要与现场技术支持确认影响范围

2. 问题描述

当Docker或者其他进程被终止后,天基的service_manager进程会启动服务角色,以保证服务的可用性。但是当业务产品需要进行测试、验证等场景时需要进行停止动作,本方案介绍了禁止天基对其服务角色执行启动操作的方法。

3. 解决方案

3.1. 环境检查

适用于V3环境

本文以tianji集群的tianjimon服务CMSBackyard#服务角色为例。

  1. 登录天基控制台,选择tianji集群>tianji-A-4423集群>集群运维中心

  1. 集群运维中心页面,选择tianjimon服务与CMSBackyard#角色,单击服务器后面的Terminal, 登录CMSBackyard#角色的机器。

  2. 执行如下命令,查看service_manager、service_manager_monitor、service_manager_superviso进程是否存在 。

    ps -ef | grep service_manager

    系统显示类似如下 ,确认service_manager、service_manager_monitor、service_manager_supervisor进程存在。

适用于V2环境

  1. 登录tianjimon服务所在的机器,详见专有云V2环境中如何登录容器

  2. 执行如下命令,查看service_manager、service_manager_monitor、service_manager_superviso进程是否存在 。

    ps –ef | grep service_manager

    系统显示类似如下 ,确认service_manager、service_manager_monitor、service_manager_supervisor进程存在。

3.2. 实施步骤

停止操作步骤

  1. 登录服务角色所在机器。

  1. 执行如下命令,进入指定目录。

    cd /cloud/app/tianji/TianjiClient#/service_manager
  1. 执行如下命令,查看最新的更新文件。

    ls –lrt

    系统显示类似如下。

    说明

    • V3环境中会有一个current的软链接到最新的buildID目录。

    • V2环境中找到最新的buildID目录,且文件后缀名不是tjtmp。

  1. 进入current目录,执行如下命令,查看到start文件的执行权限。

    ll

    系统返回类似如下。

  1. 执行如下命令,取消start文件的执行权限。

    sudo chmod -x start

    系统返回类似如下。

  1. 执行如下命令,查看service_manager进程。

    ps -ef | grep service_manager

    系统返回类似如下。

  1. 执行如下命令,结束service_manager进程。

    sudo kill [$ID]

    说明:[$ID]为service_manager进程ID。

  1. 执行如下命令,查看service_manager进程。

    ps -ef | grep service_manager

    系统返回类似如下,service_manager进程,没有被自动启动。

  1. 执行如下命令,查看cms-backyard容器ID。

    sudo docker ps -a | grep  [$container_id]

    说明:[$container_id]为容器ID。

    系统返回类似如下,cms-backyard容器是启动状态。

  1. 执行如下命令,停止cms-backyard容器。

    sudo docker stop [$container_id]
  2. 执行如下命令,查看cms-backyard容器是否被自动启动。

    sudo docker ps -a | grep backyard

    系统返回类似如下,cms-backyard容器现在是停止状态。

启动操作步骤

  1. 执行如下命令,添加start文件执行权限。

    sudo chmod +x start
  1. 执行ll命令,查看start文件的权限。

  1. 执行如下命令,查看service_manager进程。

    ps -ef | grep service_manager

    系统显示类似如下,service_manager进程已自动启动。

  2. 执行如下命令,查看cms-backyard容器的状态。

    sudo docker ps -a | grep backyard

    系统返回类似如下,cms-backyard容器已自动启动。

3.3. 结果验证

验证结果请查看实施步骤。

4. 回滚方案

service_manager服务的启动脚本添加执行权限,已被停止的服务角色会自动启动。

5. 补充说明

正常情况下,天基会自动启动其管理的服务角色,如果遇到服务角色异常,天基不会自动启动服务角色。