由于程序要部署到K8S里面,需要解析各种域名,但是程序使用了chroot导致无法找到hosts文件(默认路径/etc/hosts)

解决方法先编写一个脚本,在没有运行程序时候解析各个域名的IP地址然后放到chroot后的 etc/hosts(注意这个是相对路径不是绝对路径!!)

首先你要安装  nslookup  这个命令

然后就是脚本了

#!/bin/sh
ip=`nslookup kafka-0.kafka.antiy.svc.cluster.local | grep Address | grep -v "#" | awk -F": " '{print $2}'`
echo "$ip kafka-0.kafka.antiy.svc.cluster.local" > /var/MyPro/etc/hosts

 

上面就是脚本笔者的程序chroot到/var/MyPro/目录,所以需要在/var/MyPro/下面建立etc文件夹,这样脚本执行后就有了kafka域名的IP地址了。最后在运行程序!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐