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所示。
指令 |
类型 |
说明 |
---|---|---|
bash probe.sh startup |
启动探针 |
用于判断程序是否已启动,探针触发后设置了60s的超时时间。 |
bash probe.sh liveness |
存活探针 |
用于发现程序进程状态是否健康,探针触发后内部设置了60s的请求超时时间。 |
bash probe.sh readiness |
就绪探针 |
用于判断程序是否就绪接收流量,探针触发后设置了60s的超时时间。 |
使用到的环境变量如表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所示。
指令 |
说明 |
---|---|
./http_client_ctl [ip] [port] [url] [timeout] [retrytime] |
|
./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" } }
配置类型 |
配置项 |
配置介绍 |
---|---|---|
证书配置 |
tls_enable |
必填。是否开启HTTPS通信,默认为true。
建议用户开启,确保通信安全。如果关闭则存在较高的网络安全风险。 如设置环境变量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。
如设置环境变量MINDIEMS_LOG_LEVEL或者MINDIE_LOG_LEVEL,则优先读取环境变量的值。 |
to_file |
是否写入到文件。默认值为false。
如设置环境变量MINDIE_LOG_TO_FILE,则优先读取环境变量的值。 |
|
run_log_path |
运行日志文件路径。 |
|
operation_log_path |
操作日志文件路径。 |
环境变量名称 |
含义 |
---|---|
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"字段中的相关文件路径配置为导入容器后的绝对路径。