저는 Ansible을 사용하여 가상 머신을 프로비저닝하는데 훌륭하게 작동합니다. Dnsmasq는 DHCP를 처리하여 자동으로 IP를 얻습니다. 그러나 DNS가 구성되지 않았기 때문에 가상 머신은 호스트 이름으로 서로 통신할 수 없으며 IP로만 통신할 수 있습니다.
virsh net-define
새 도메인을 사용하고 만들어야 한다는 일부 가이드를 읽었습니다 virsh net-edit
. 하지만 이 작업은 수동으로 수행해야 합니다.이 가이드제가 눈여겨 보고 있는 것 중 하나입니다.
어떻게든 자동으로 할 수 있는 건가요? 제가 제공한 가이드보다 낫지 않을까요?
단순화를 위해 호스트를 추가했지만 /etc/hosts
더 나은 솔루션이 있어야 한다고 생각하시나요?
답변1
부가 지식:
많은 애플리케이션이 호출을 통해 FQDN을 확인합니다.호스트 이름 가져오기.
Linux에서 C 라이브러리는 다음을 읽습니다./etc/nsswitch.conf
정보 소스를 구성합니다. 최소한 가지고 hosts: files
있다면 /etc/hosts
.
실제 답변
Vagrant와 함께 libvirt를 사용하여 사용할 수 있습니다.떠돌이 호스트 관리자.
/etc/hosts
tldr: 게스트에 항목을 추가하고 /etc/hosts
호스트에 업데이트할 수 있습니다.
/etc/hosts
Ansible을 사용하여 libvirt 또는 QEMU를 직접 호출할 수 있는 경우 다음 동작을 복제할 수 있습니다. Ansible은 IP 주소가 수집되었다는 사실을 알고 있으므로 각 게스트와 호스트에 대한 연결을 추가할 수 있습니다. hostvars
변수의 값을 조회하고 전체 인벤토리를 기반으로 플레이북을 사용해야 할 수도 있습니다 (따라서 사실 수집 단계가 각 호스트에 적용되고 IP를 얻습니다). 고정 IP의 경우: 모든 게스트에서 동일한 콘텐츠를 덤프할 수 있습니다(그리고 IP 중복을 피하기 위해 템플릿을 사용할 수 있습니다).
내가 하나 찾았어유제이는 또 다른 답변을 제공합니다(프로젝트와 관련된 VM뿐만 아니라 모든 VM에 영향을 미칩니다).