Privilege Agent 就绪检测

1.功能描述

NJet 提供的动态API, 对配置修改的报文,将首先发往 privilege agent 进程进行处理。在使用一些程序脚本进行启动(或重启)后的更新时,需要能够获取到privilege agent 是否就绪的状态。 因此需要提供一个检测接口,该接口将返回就绪的状态。

2.依赖模块

load_module modules/njt_http_privilege_agent_check_module.so;

3.配置样例

njet_ctrl.conf:需要加载njt_http_privilege_agent_check_module.so

以及指定 kv 模块配置文件 dyn_kv_conf conf/ctrl_kv.conf;

load_module modules/njt_http_sendmsg_module.so;
load_module modules/njt_ctrl_config_api_module.so; 
load_module modules/njt_helper_health_check_module.so;
load_module modules/njt_http_upstream_api_module.so; 
load_module modules/njt_http_location_api_module.so;
load_module modules/njt_doc_module.so;
load_module modules/njt_http_vtsd_module.so;
load_module modules/njt_http_privilege_agent_check_module.so;

error_log logs/error_ctrl.log error;

events {
    worker_connections  1024;
}

http {
    dyn_kv_conf conf/ctrl_kv.conf;
    include mime.types;
    access_log off;
    server {
        listen       8088;

        location / {
            return 200 "njet control panel\n";
        }
       
        location /api {
            dyn_module_api;  
        } 
        
        location /doc {
            doc_api;
        }
        
        location /metrics {
            vhost_traffic_status_display;
            vhost_traffic_status_display_format html;
        }
    }
}

ctrl_kv.conf

topic /gossip/#
topic /privilege_agent/#

4.调用样例

控制面提供restful 接口,通过该接口查询 privilege agent 是否就绪:

[njet@k8s-master158 privilege_agent]$ curl -s localhost:8088/api/v1/privilege_agent/ready  |jq

{
  "ready": true
}