下载
中文
注册

MindIE探针工具

MindIE Service提供探针脚本,使能kubernetes探针检测功能,支持启动,存活,就绪三种探针。

脚本适用于以下部署场景:

  • 集成MindIE MS Controller、MindIE MS Coordinator和MindIE Server的部署场景。
  • 仅集成MindIE Server PD混合部署场景。

在MindIE Service安装路径下,可找到探针入口脚本:$MIES_INSTALL_PATH/scripts/http_client_ctl/probe.sh。

探针的使用命令如表1所示。

表1 探针的使用

指令

类型

说明

bash probe.sh startup

启动探针

用于判断程序是否已启动,探针触发后设置了60s的超时时间。

bash probe.sh liveness

存活探针

用于发现程序进程状态是否健康,探针触发后内部设置了60s的请求超时时间。

bash probe.sh readiness

就绪探针

用于判断程序是否就绪接收流量,探针触发后设置了60s的超时时间。

使用到的环境变量如表2所示。

表2 环境变量

环境变量

说明

POD_IP

容器Pod IP。

MIES_INSTALL_PATH

MindIE-Service安装路径。

MINDIE_SERVER_PROBE_ONLY

仅针对MindIE Server进行状态探测的标志,设置为1时生效,适用于仅集成部署MindIE Server的PD混合场景。

GLOBAL_RANK_TABLE_FILE_PATH

全局ranktable文件路径,适用于集成MindIE MS Controller、MindIE MS Coordinator和MindIE Server多组件部署的场景。

MINDIE_UTILS_HTTP_CLIENT_CTL_CONFIG_FILE_PATH

探针配置文件的读取路径。

MINDIE_USE_HTTPS

是否启用HTTPS安全通信,取值为true或false, 设置后优先使用该配置替代http_client_ctl.json。建议用户打开,确保通信安全。如果关闭则存在较高的网络安全风险。

probe.sh脚本依赖 http_client_ctl组件发送HTTP请求,请求指令如表3所示。

表3 http_client_ctl命令介绍

指令

说明

./http_client_ctl [ip] [port] [url] [timeout] [retrytime]

  • [ip]:目标IPv4格式的IP地址。
  • [port]:目标端口。取值范围[1024, 65535]。
  • [url]:HTTP请求的URL。
  • [timeout]:请求超时时间,单位秒。取值范围[1, 600]。
  • [retrytime]:重试次数。取值范围[0, 30]。

./http_client_ctl -h/--help

命令使用帮助。

另外,http_client_ctl还需配置http_client_ctl.json文件,其字段解释如表4所示。

{
     "tls_enable" : true,
     "cert": {
          "ca_cert" : "./security/http_client/ca/ca.pem",
          "tls_cert": "./security/http_client/certs/cert.pem",
          "tls_key": "./security/http_client/keys/cert.key.pem",
          "tls_passwd": "./security/http_client/pass/key_pwd.txt",
          "kmc_ksf_master": "./tools/pmt/master/ksfa",
          "kmc_ksf_standby": "./tools/pmt/standby/ksfb",
          "tls_crl": ""
     },
     "log_info": {
          "log_level": "INFO",
          "to_file": false,
          "run_log_path": "/var/log/mindie-ms/run/log.txt",
          "operation_log_path": "/var/log/mindie-ms/operation/log.txt"
     }
}
表4 http_client_ctl.json配置说明

配置类型

配置项

配置介绍

证书配置

tls_enable

必填。是否开启HTTPS通信,默认为true。

  • true:表示开启;
  • false:表示关闭。

建议用户开启,确保通信安全。如果关闭则存在较高的网络安全风险。

如设置环境变量MINDIE_USE_HTTPS,则优先读取环境变量的值。

ca_cert

必填。

客户端ca根证书文件路径,该路径真实存在且可读。

tls_cert

必填。

客户端tls证书文件路径,该路径真实存在且可读。

tls_key

必填。

客户端tls私钥文件路径,该路径真实存在且可读。

tls_passwd

必填。

KMC加密的私钥口令的文件路径。

kmcKsfMaster

必填。

加密口令的KMC密钥库文件。

kmcKsfStandby

必填。

加密口令的KMC standby密钥库备份文件。

tls_crl

必填。

证书吊销列表crl文件路径,该路径存在且可读。如为空,则不进行吊销校验。

日志配置

log_level

日志级别。默认值为INFO。

  • DEBUG
  • INFO
  • WARNING
  • ERROR
  • CRITICAL

如设置环境变量MINDIEMS_LOG_LEVEL或者MINDIE_LOG_LEVEL,则优先读取环境变量的值。

to_file

是否写入到文件。默认值为false。

  • true:输出到文件。
  • false:不输出到文件。

如设置环境变量MINDIE_LOG_TO_FILE,则优先读取环境变量的值。

run_log_path

运行日志文件路径。

operation_log_path

操作日志文件路径。

表5 环境变量

环境变量名称

含义

MINDIE_UTILS_HTTP_CLIENT_CTL_CONFIG_FILE_PATH

http_client_ctl.json的文件路径

若用户开启了HTTPS安全通信,需要设置上述tls_enable为true,并准备相关证书(CA证书,客户端证书,私钥文件),使用证书管理工具导入后生成KMC加密口令文件,详情请参见config_mindie_server_tls_cert.py

将证书(包括security和tools目录)导入容器,两种方式如下所示:

  • 方式一:在制作镜像的过程中拷贝相关的证书和KMC文件到容器内。
  • 方式二:在启动容器时将相关文件通过宿主机挂载方式导入。

最后需将MindIE Service安装路径下的conf/http_client_ctl.json文件"cert"字段中的相关文件路径配置为导入容器后的绝对路径。