导入证书和KubeConfig

导入工具cert-importer在各组件的软件包中。

导入工具说明

导入HTTPS证书

  1. 使用root用户登录各个对应组件需要安装的服务器,参考组件安装位置
  2. 进入组件安装包解压路径,将lib文件夹设置到当前窗口的环境变量LD_LIBRARY_PATH中,环境变量不需要持久化或继承给其他用户(证书导入工具需要配置自带的加密组件相关的so包路径)。

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:`pwd`/lib/

  3. 使用安装包解压路径下的cert-importer工具导入证书,导入证书命令示例如下,详细命令参数请参考表6

    ./cert-importer -certFile=/xxx/server.crt -keyFile=/xxx/server.key -caFile=/xxx/ca.crt -crlFile=/xxx/server.crl -cpt=ne    
    表3 证书导入场景说明

    导入证书场景名称

    认证方式

    说明

    服务证书(-certFile)、服务私钥(-keyFile)

    单向认证

    • 加密过的私钥在导入时要求输入私钥解密口令。
    • 安装NPU-Exporter的每个节点默认均需要使用证书。若无证书,则不能启动。

    服务证书(-certFile)、服务私钥(-keyFile)、对端根证书(-caFile)、离线的证书吊销列表文件(-crlFile,可选参数)

    双向认证

导入KubeConfig文件

  1. 生成KubeConfig配置文件,从MindXDL-deploy仓库上拉取“createKubeConfig.sh”文件到K8s管理节点,执行以下命令生成各组件的KubeConfig文件。

    bash createKubeConfig.sh  https://<masterIP>:6443 

    如执行上述命令出错,可执行如下命令之后重试。

    unset LD_LIBRARY_PATH

  2. 将K8s管理节点“/etc/kubernetes/mindxdl”目录下各组件的Kubeconfig配置文件放置到组件的安装节点任意目录下(如“/etc/kubernetes/mindxdl”)。
  3. 进入各节点组件安装包解压路径,将lib文件夹设置到当前窗口的环境变量LD_LIBRARY_PATH中,不需要持久化或继承给其他用户(证书导入工具需要配置自带的加密组件相关的so包路径)。

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:`pwd`/lib/

  4. 在各节点导入各组件的KubeConfig配置文件参考命令如下,详细命令参数请参考表6

    表4 各组件导入KubeConfig文件命令

    组件

    导入KubeConfig文件命令

    HCCL-Controller

    ./cert-importer -kubeConfig=/etc/kubernetes/mindxdl/hccl-controller-cfg.conf -cpt=hc

    NodeD

    ./cert-importer -kubeConfig=/etc/kubernetes/mindxdl/noded-cfg.conf -cpt=nd

    Ascend Device Plugin

    ./cert-importer -kubeConfig=/etc/kubernetes/mindxdl/device-plugin-cfg.conf -cpt=dp

    Resilience-Controller

    ./cert-importer -kubeConfig=/etc/kubernetes/mindxdl/resilience-controller-cfg.conf -cpt=rc

表5 集群调度组件证书配置文件表

组件

证书等配置文件路径

目录及其文件属主

配置文件说明

集群调度组件证书相关根目录

/etc/mindx-dl/

hwMindX:hwMindX

kmc_primary_store/master.ks:自动生成的主材料,请勿删除。

.config/backup.ks:自动生成的备份材料,请勿删除。

NPU-Exporter

/etc/mindx-dl/npu-exporter/

.config/config1:导入加密私钥文件,删除后无法启用HTTPS。

.config/config2:导入的服务证书文件,删除后无法启用HTTPS。

.config/config3:导入的对端根证书文件,删除或不存在时启用单向认证,否则启用双向认证。

.config/config4:导入的证书吊销列表文件,启用双向认证后,程序启用客户端吊销列表检查。

.config/config5:自动生成的加密私钥的口令密文文件。

.conf:自动生成的加密私钥的口令密文文件备份。

.config1:导入加密私钥文件备份。

.config2:导入的服务证书文件备份。

.config3:导入的对端根证书文件备份。

.config4:导入的证书吊销列表文件备份。

HCCL_Controller

/etc/mindx-dl/hccl-controller/

.config/config6: 导入的加密K8s KubeConfig文件,连接K8s使用。

.config6: 导入的加密K8s KubeConfig文件备份。

NodeD

/etc/mindx-dl/noded/

Resilience-Controller

/etc/mindx-dl/resilience-controller/

Ascend Device Plugin

/etc/mindx-dl/device-plugin/

表6 导入工具参数说明

参数

类型

默认值

说明

-keyFile

string

服务私钥文件路径,必须有值。

-certFile

string

服务证书文件路径,必须有值。

-crlFile

string

证书吊销文件路径,可选。

-caFile

string

对端根证书文件路径,单向认证时不需要导入,双向认证需要导入。

-kubeConfig

string

导入KubeConfig文件的路径。

-cpt

string

ne

导入证书的组件名称:

  • ne,表示NPU-Exporter
  • hc,表示HCCL-Controller
  • nd,表示NodeD
  • dp,表示Ascend Device Plugin
  • rc,表示Resilience-Controller

-encryptAlgorithm

int

9

私钥口令加密算法:

  • 8:AES128GCM
  • 9:AES256GCM
    说明:

    无效参数值会被重置为默认值。

-version

bool

false

打印程序版本号。

-n

bool

false

默认导入成功后会删除私钥和kubeconfig等敏感文件,设为true可停用自动删除功能。

-logFile

string

/var/log/mindx-dl/cert-importer/cert-importer.log

工具运行日志路径。

-updateMk

bool

false

如果为true,立即更新KMC加密组件的主秘钥。

-updateRk

bool

false

如果为true,立即更新KMC加密组件的根秘钥。

-h

不涉及

显示帮助信息。