AnsibleでESXi上の仮想マシンに vCSAインストール用のNTP&DNSサーバを立てる
vCSAのインストールにはNTPとDNSが必要なため(NTPは一応必須ではないですが)、ESXi上の仮想マシンにNTPとDNSを立てる。
(とりあえず動けばいいで作ったので検証用です)
コントロールノード環境
※Windows10上のvagrant上
クライアントOS: CentOS Linux release 7.6.1810 (Core)
Ansibleのversion: 2.9.1
ターゲットノード環境
ESXi: 6.7
VMのOS: CentOS Linux release 7.7.1908 (Core)
※こちらの記事を参照すると vsphere_guestモジュールをAnsibleで使用すればvCenterがない環境でもESXiでも使用できるぽいですが、Ansible2.9で削除されているらしいので今回は使用しません。VMのOSはkickstartを使用してOSレベルでのインストールは自動化しています。
ファイル構成
ansible
├── ansible.cfg
├── contents
│ ├── dnsmasq.conf
│ ├── hosts
│ └── resolv.conf
├── inventory
└── testvm.yml
プレイブック
testvm.yml
---
- hosts: VMserver
gather_facts: false
tasks:
- name: set hostname
hostname:
name: vmtest.local.com
#必要なパッケージをインストール
- name: upgrade all packages
yum:
name: '*'
state: latest
- name: install the openvm-tools
yum:
name: open-vm-tools
state: latest
- name: install the dnsmasq
yum:
name: dnsmasq
state: latest
- name: install the dnsmasq
yum:
name: bind-utils
state: latest
- name: install the ntpd
yum:
name: ntp
state: latest
#dnsmasqの設定をファイルを置き換えて、起動させる。
- name: Copy dnsmasqcon
copy:
src: ./contents/dnsmasq.conf
dest: /etc/dnsmasq.conf
owner: root
- name: Copy hosts
copy:
src: ./contents/hosts
dest: /etc/hosts
owner: root
- name: Copy resolv.conf
copy:
src: ./contents/resolv.conf
dest: /etc/resolv.conf
owner: root
- name: start dnsmasq
systemd:
state: started
name: dnsmasq
#ntpdの設定ファイルを置き換えて起動させる
- name: start ntpd
systemd:
state: started
name: ntpd
contents
ansible
├── ansible.cfg
├── contents
│ ├── dnsmasq.conf
│ ├── hosts
│ └── resolv.conf
├── inventory
└── testvm.yml
---
- hosts: VMserver
gather_facts: false
tasks:
- name: set hostname
hostname:
name: vmtest.local.com
#必要なパッケージをインストール
- name: upgrade all packages
yum:
name: '*'
state: latest
- name: install the openvm-tools
yum:
name: open-vm-tools
state: latest
- name: install the dnsmasq
yum:
name: dnsmasq
state: latest
- name: install the dnsmasq
yum:
name: bind-utils
state: latest
- name: install the ntpd
yum:
name: ntp
state: latest
#dnsmasqの設定をファイルを置き換えて、起動させる。
- name: Copy dnsmasqcon
copy:
src: ./contents/dnsmasq.conf
dest: /etc/dnsmasq.conf
owner: root
- name: Copy hosts
copy:
src: ./contents/hosts
dest: /etc/hosts
owner: root
- name: Copy resolv.conf
copy:
src: ./contents/resolv.conf
dest: /etc/resolv.conf
owner: root
- name: start dnsmasq
systemd:
state: started
name: dnsmasq
#ntpdの設定ファイルを置き換えて起動させる
- name: start ntpd
systemd:
state: started
name: ntpd
contents
※置き換える設定ファイル
※デフォルトの設定ファイルが非常に長いので別サーバでyum install dnsmasqして作成される/etc/dnsmasq.confをコピーして作成
最終的にコメント以下の設定がdnsmasq.confがコメントアウトされていればOK
[root@testvm ~]# cat /etc/dnsmasq.conf | grep -v "^#" | grep -v "^$"
domain-needed
bogus-priv
strict-order
local=/local.com/
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
nameserver 127.0.0.1
nameserver 8.8.8.8
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
"vCSAのデプロイ予定のIP" vcsa.local.com server01
“VMサーバのIP” testvm.local.com dns-server
インベントリ
inventory
[VMserver]
”ESXi上の仮想サーバのIP”
[all:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass=password
ansible_sudo_pass=password
ansible.cfg
[VMserver]
”ESXi上の仮想サーバのIP”
[all:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass=password
ansible_sudo_pass=password
以下の設定を追記
[defaults]
host_key_checking = False
コマンド実行
ansibleディレクトリで実行する
# ansible-playbook -i inventory testvm.yml
Author And Source
この問題について(AnsibleでESXi上の仮想マシンに vCSAインストール用のNTP&DNSサーバを立てる), 我々は、より多くの情報をここで見つけました https://qiita.com/sicksixrock66/items/f2a19314da626c93e83f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .