Workflow 容器内免密登录宿主机的一种简单配置方法

  使用配置
内容纲要

概要描述


对于 Workflow 中的脚本任务,在一些场景下,可能需要从 Workflow 容器内免密登录某些宿主机执行特定脚本或读取相应数据;由于 TDH 容器化部署,所以免密配置的不好,会导致 Workflow 重启后免密失效,从而导致相应的任务报错失败。

本文就 Workflow 部署持久化免密宿主机提供一种简单的方法供参考;该方式无需重做 Workflow 的 image,且即使重启 Workflow 也不会失效。

详细说明


  1. 在 Workflow 角色的物理节点生成密钥文件,该处以 root 用户为例

    # 检查密钥文件是否已存在,若存在则不用执行下面的生成密钥文件语句
    ls -lrt /root/.ssh/id_rsa*

    file

    # 若上面检查密钥文件不存在,则执行如下命令生成密钥文件
    ssh-keygen -t rsa -f /root/.ssh/id_rsa -P '' &>/dev/null
  2. 配置免密
    eg:需要从上图中 amen02-8 节点的 Workflow 容器内,以 ‘amen’ 用户免密登录 172.22.39.88 节点,参考如下命令,该处需要输入 172.22.39.88 节点 ‘amen’ 用户的密码

    ssh-copy-id -i /root/.ssh/id_rsa.pub -o StrictHostKeyChecking=no amen@172.22.39.88

    file

  3. 拷贝第 1 步生成的 root 用户私钥文件到 Workflow 容器内可以读取的持久化目录 /etc/workflow1/conf

    cp /root/.ssh/id_rsa /etc/workflow1/conf/
  4. Workflow 脚本任务采用如下方式进行登录

    ssh -i /etc/workflow1/conf/id_rsa -o StrictHostKeyChecking=no @

    该处的 user 和 host 即是第 2 步的 amen@172.22.39.88

  5. 如果是安装了多个 Workflow 角色,每个 Workflow 角色的物理节点都需要进行该操作

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。