由于生成的库存看起来像一对(见上文),我需要使用具有 IP 值而不是实例名称的instance name - ip
变量来测试配方。ansible_host
因此生成的库存如下所示:
[all]
idm ansible_host=10.0.1.1
client1 ansible_host=10.0.1.2
[client]
client1 ansible_host=10.0.1.2
因此molecule.yml
包含:
platforms:
- name: idm
image: quay.io/freeipa/freeipa-server:rocky-8-4.9.6
pre_build_image: true
privileged: false
network: testing
hostname: idm.org.test
command: ipa-server-install -U --realm=ORG.TEST --domain=org.test --ds-password=IsASecret --admin-password=IsASecret --hostname=idm.org.test
- name: client1
image: quay.io/rockylinux/rockylinux
pre_build_image: true
privileged: false
network: testing
hostname: client1.org.test
groups:
- all
- client
按照此配置,我能够将这两个实例放入同一个网络,但无法为它们分配静态 IP。此外,此处ansible_host
将实例名称作为值 ( idm
, client1
)。
笔记:正如标题所写,我使用分子吊舱创建实例并测试
感谢您的帮助
此致
答案1
如果你需要静态 IP(你可以使用 dns,但你可能已经知道了,因为你的客户端似乎使用 idm.org.test),我认为你必须使用你自己的 create.yml 文件https://github.com/ansible-community/molecule-podman/blob/main/src/molecule_podman/playbooks/create.yml做这样的事。
因为我的理解是,当通过 podman 创建网络时,你无法控制很多参数。