なにかの技術メモ置き場

なにかの技術メモ置き場

@インフラエンジニア

OpenStack環境構築 part03

Host networking

ネットワーク設計。

レイアウト設計

ネットワーク名 アドレスレンジ ゲートウェイ DNSサーバ 備考
Management network 172.16.0.0/24 - 172.16.0.1 ホストマシン用
Provider network 10.0.0.0/24 10.0.0.254 10.0.0.254 インスタンス

★図

ホスト設計

Management network

Node IP Address Prefix Default Gateway Interface
Controller 172.16.0.206 24 - ens3
Compute 172.16.0.207 24 - eno1
Compute 172.16.0.208 24 - enp0s25

Provider network

Node IP Address Prefix Default Gateway Interface
Controller - - - ens2
Compute - - - eno2
Compute - - - enp3s0

★図

Controller node

Configure network interfaces

コントローラノードのネットワーク設定。

Management Netowork
手順はお好みで。nmcliで設定した。

nmcli connection modify ens3 ipv4.method manual ipv4.addresses 172.16.0.206/24 ipv4.dns 172.16.0.1 ipv4.dns-search tmpdomain.local ipv6.method disabled

Provider network
以下のパラメータが必須。

DEVICE=INTERFACE_NAME
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"

HWADDR、UUIDは変更しない。

設定

vi /etc/sysconfig/network-scripts/ifcfg-ens4
省略
cat /etc/sysconfig/network-scripts/ifcfg-ens4
# Generated by dracut initrd
NAME="ens4"
DEVICE="ens4"
ONBOOT=yes
UUID="df8443fa-3924-4ebd-aa3d-4d3bf6704959"
BOOTPROTO=none
TYPE=Ethernet

HWADDRは存在しなかった。

Configure name resolution

ホスト名の設定

hostnamectl set-hostname ctr01.tmpdomain.local

hostsの設定

cp -p /etc/hosts{,_org}
ls -l /etc/hosts{,_org}

cat << EOF>> /etc/hosts

# controller
172.16.0.206 ctr01

# compute
172.16.0.207 cmp01
172.16.0.208 cmp02
EOF
diff /etc/hosts{,_org}
cat /etc/hosts

Compute node

Configure network interfaces

コンピュートノードのネットワーク設定。

Management Netowork
手順はお好みで。nmcliで設定した。

nmcli connection modify "System enp4s0" con-name enp4s0
nmcli connection modify enp4s0 ipv4.method manual ipv4.addresses 172.16.0.207/24 ipv4.dns 172.16.0.1 ipv4.dns-search tmpdomain.local ipv6.method disabled

Provider network
以下のパラメータが必須。

DEVICE=INTERFACE_NAME
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"

HWADDR、UUIDは変更しない。

設定

vi /etc/sysconfig/network-scripts/ifcfg-enp0s25
省略
cat /etc/sysconfig/network-scripts/ifcfg-enp0s25
# Generated by dracut initrd
NAME="enp0s25"
DEVICE="enp0s25"
ONBOOT=yes
UUID="147124b0-a796-44c3-9540-abcb5c63fee7"
BOOTPROTO=none
TYPE=Ethernet

HWADDRは存在しなかった。

Configure name resolution

ホスト名の設定

hostnamectl set-hostname cmp01.tmpdomain.local

hostsの設定

cp -p /etc/hosts{,_org}
ls -l /etc/hosts{,_org}

cat << EOF>> /etc/hosts

# controller
172.16.0.206 ctr01

# compute
172.16.0.207 cmp01
172.16.0.208 cmp02
EOF
diff /etc/hosts{,_org}
cat /etc/hosts

ホスト名やネットワークを設定したので、このあたりでOSを再起動しておく。必須ではない。

systemctl reboot

Verify connectivity

コントローラノード
インターネットへの疎通確認。

ping -c 4 docs.openstack.org

多くの方はこれでよいかもしれない。
しかし、当環境ではこれができない。そのため、以下の手段で代替する。

curl

curl https://docs.openstack.org/ussuri/ -o /dev/null -w '%{http_code}\n' -s

「200」と表示されたらOK。不要な情報が切り詰められすぎていて逆にわかりづらい、という方は

curl https://docs.openstack.org/ussuri/ -I

など。

dnf

TBD

要は、要件を見極め、それを満たせればよい。むしろping(ICMP)は不要なくらい。

コンピュートノードへの疎通確認。

ping -c 4 cmp01

コンピュートノード
インターネットへの疎通確認。

コントローラノードと同様。ただし、curlは不要なのでdnfだけでよい。

TBD

コントローラノードへの疎通確認。

ping -c 4 ctr01

参考サイト

docs.openstack.org