[Workflow] 配置容器里 TDH-Client 所用 yum 源为物理机本地 yum 源的方式

  其他常见问题
内容纲要

概要描述


Workflow 组件的基础镜像有点问题,镜像自带 /etc/yum.repo.d 下的 yum 源在客户自身内网环境里一般是不能连通的;这会导致初始化 TDH-Client 的 init.sh 脚本进行安装 Kerberos 客户端执行 yum 语句一直卡在连接 yum 源 url,最后超时报错。

比如脚本任务执行时出现 Another app is currently holding the yum lock 之类的错误。

本文介绍两个针对该问题的 workaround 方法供参考。

Workflow 安装 TDH-Client 请参考 2.1.2 章节:Workflow 安装TDH-Client

详细说明


方法1:挂载本机 /etc/yum.repos.d 到 Workflow 容器 /etc/yum.repos.d
  1. 以 Workflow1 服务为例,ssh 登录 TDH Manager 节点,确认正在使用的 Workflow 镜像版本

$ kubectl describe po $(kubectl get po -o wide | grep workflow1 | head -1 | awk '{print $1}') | grep Image:

  • workflow1 为对应的组件实例名

file

  1. 修改对应镜像版本的 metainfo 文件

根据上面获取的 Workflow 镜像版本,进入目录 /var/lib/transwarp-manager/master/content/meta/services/WORKFLOW/studio-1.5.0-final
编辑 metainfo.yaml,添加如下挂载信息:

  - mountPath: /etc/yum.repos.d
     hostPath: /etc/yum.repos.d
     name: yum-repo

file

注意空格和缩进要和上面的挂载一致,保存退出

  1. 重启 TDH Manager
# 8.x 版本前
$ /etc/init.d/transwarp-manager restart
# 8.x 及其之后版本
$ systemctl restart transwarp-manager
  1. 登录 TDH Manger 8180 页面,重启 Workflow 服务

  2. 再次进入 Workflow 的容器,能看到容器内 /etc/yum.repos.d 下的 yum 源已经和宿主机一致

  3. 注意点:

    • 该方法需要重启 Workflow 组件,但只需要修改 metainfo 文件,无需操作每个 Workflow 节点机器
    • 只要保证本地的 yum repo 访问正常,容器内也会正常,比较推荐该方法
方法2:修改 TDH-Client/init.sh 脚本
  1. 以 Workflow1 服务为例,ssh 登录每个 Workflow1 角色的节点,拷贝 /etc/yum.repos.d/os.repo 到 /var/lib/workflow1/ 下

$ cp -rf /etc/yum.repos.d/os.repo /var/lib/workflow1/

  1. 修改 /var/lib/workflow1/TDH-Client/init.sh,替换 sudo yum install krb5-workstation -ysudo yum install krb5-workstation -y -c /var/lib/workflow/os.repo --disablerepo=* --enablerepo=os

file

  1. 删除 /var/lib/workflow1/tdh-client.tar

经测试如果不删除该 tar 包,重启 Workflow 后会被重新解压,导致覆盖前面的修改

  1. 注意点

    • 此方法无需重启 Workflow,只要确保不更新 TDH-Client,在本集群会长期有效
    • 该方法需要操作每个 Workflow 角色节点
    • 如果有脚本任务引用了官方手册的命令:source /bin/tdh_client_import.sh, 由于第 3 步删除了 tar 包,会导致重启 Workflow 后容器里不会生成该脚本,导致任务出问题;需要修改脚本任务命令为 source /var/lib/workflow/TDH-Client/init.sh n n
    • 综上,不推荐方法 2,但可作为无法重启 Workflow 时的一种选择

这篇文章对您有帮助吗?

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

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

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

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