昇腾社区首页
中文
注册

启用MindIE Server TLS认证通信功能

用户需要开启MindIE Server的TLS认证功能(https或grpc)时,通信客户端需要校验服务端证书的IP,由于podIP的动态性,需要在Pod启动时生成具有podIP别名的服务证书,以实现MindIE Server中master和slave间的通信,以及MindIE MSMindIE Server的证书认证和校验,具体操作步骤如下所示。

操作步骤

  1. 请参考客户端部署命令启动服务。
    1. 请参考MindIE MS服务端API接口用户自行编写用于部署服务的json格式的字符串,将启动脚本/path/run.sh配置成无限循环,如图1所示。
      图1 配置无限循环
    2. 通过MindIE MS客户端msctl发送服务部署请求命令。
      ./msctl create infer_server -f infer_server.json

      infer_server.json:为MindIE MS服务端API接口用户自行编写用于部署服务的json格式的字符串。

    3. 回显如下所示,则表示部署请求命令下发成功。
      { 
          "message": "creating the server!",
          "status": "0"
      }
    4. 执行以下Kubernetes查询指令,查询是否部署成功。
      kubectl get pods -A -o wide

      如下图所示,在Kubernetes的Pod资源用户自定义的{namespace}中,存在{server_name}-deployment-0-xxx且状态为Running时,则表示部署成功。

      {server_name}和{namespace}:为MindIE MS服务端API接口中用户自行编写的json配置文件中的“server_name”和“namespace”参数值。

  2. 容器内导入证书。
    1. 准备好通过CA生成关联服务端证书的IP以及节点物理IP的server.pem和server.key.pem,以及mindie_server_key_pwd.txt加密口令文件和KMC工作密钥。
    2. 通过以下命令进入1.d两个Pod容器。
      kubectl exec -it {pod_name} /bin/bash
    3. 请参见config_mindie_server_tls_cert.py中的导入证书和KMC加密脚本进行证书导入和KMC加密。
  3. 参见•非root用户镜像启动脚本样例如下所示:启动MindIE Server