【发布时间】:2019-09-13 09:55:01
【问题描述】:
我正在尝试从 ansible 库存文件创建 /etc/host 文件。
Ansible 库存文件如下所示:
[masters]
k8s-master-a.example.com ansible_ssh_host=10.15.90.2
k8s-master-b.example.com ansible_ssh_host=10.15.90.3
k8s-master-c.example.com ansible_ssh_host=10.15.90.4
[etcd]
k8s-etcd-a.example.com ansible_ssh_host=10.15.91.2
k8s-etcd-b.example.com ansible_ssh_host=10.15.91.3
k8s-etcd-c.example.com ansible_ssh_host=10.15.91.4
以下脚本将帮助使用 fqdn 条目创建它。
$cat inventory.yaml | grep -v '^\[' | sed 's/ansible_ssh_host=//g' | awk '{ print $2 " " $1}' > /etc/hosts
10.15.90.2 k8s-master-a.example.com
10.15.90.3 k8s-master-b.example.com
10.15.90.4 k8s-master-c.example.com
10.15.91.2 k8s-etcd-a.example.com
10.15.91.3 k8s-etcd-b.example.com
10.15.91.4 k8s-etcd-c.example.com
但我想在 /etc/hosts 文件中也有 k8s-master-* 和 k8s-etcd-* 。最终结果应该是这样的。
10.15.90.2 k8s-master-a.example.com k8s-master-a
10.15.90.3 k8s-master-b.example.com k8s-master-b
10.15.90.4 k8s-master-c.example.com k8s-master-c
10.15.91.2 k8s-etcd-a.example.com k8s-etcd-a
10.15.91.3 k8s-etcd-b.example.com k8s-etcd-b
10.15.91.4 k8s-etcd-c.example.com k8s-etcd-c
【问题讨论】: