なにかの技術メモ置き場

なにかの技術メモ置き場

@インフラエンジニア

OpenStack環境構築 part01

Environment

ノードの構成設計。

The following minimum requirements should support a proof-of-concept environment with core services and several CirrOS instances:
・Controller Node: 1 processor, 4 GB memory, and 5 GB storage
・Compute Node: 1 processor, 2 GB memory, and 10 GB storage

To minimize clutter and provide more resources for OpenStack, we recommend a minimal installation of your Linux distribution. Also, you must install a 64-bit version of your distribution on each node.

以下の構成とした。

ノード CPU MEM DISK OS note
コントローラノード 4core 8GB 20GB CentOS8.2 QEMU+KVMゲストマシン
コンピュートノード 4core 10GB 600GB CentOS8.2 PRIMEGY TX1320 M2
コンピュートノード 4core 12GB 600GB CentOS8.2 PRIMEGY TX120 S3

マシンの用意

コントローラノード

仮想マシンを作成する。

virt-install \
--hvm \
--name ctr01 \
--ram 8192 \
--disk path=/var/lib/libvirt/images/ctr01.img,size=20 \
--vcpus 4 \
--os-type linux \
--network bridge=br0,link.state=up \
--network bridge=br2,link.state=down \
--graphics vnc,listen=0.0.0.0,port=5900 \
--console pty,target_type=serial \
--pxe
コンピュートノード

物理マシンを用意する。

OSのインストール

用意したマシンにOSをインストールする。

手順は割愛

SELinuxの無効化

有効のまま進めることもできるが、公式ドキュメントには手順がないため今回は避けておく。

コントローラノード、コンピュートノード
cp -p /etc/selinux/config{,_org}
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
diff /etc/selinux/config*
setenforce 0
getenforce

ファイアウォールの無効化

コントローラノード、コンピュートノード

公式ドキュメントに記載のポートは穴開けしたが、どうやら不足している模様。特定に時間がかかるため、ひとまず無効化しておく。
トラブルシュートは別途記事にする予定。

systemctl disable --now firewalld.service

プロキシの設定

必須ではない。Management networkがインターネットと通信可能であれば不要。
当環境では別途用意したプロキシサーバを経由して通信する。通信要件は、パッケージ管理(dnf)、ファイルダウンロード(curl)。

コントローラノード、コンピュートノード
cp -p /etc/dnf/dnf.conf{,_noproxy}
cat << EOF >> /etc/dnf/dnf.conf

# Proxy Setting
proxy=http://proxy01:3128/
#proxy_username=
#proxy_password=
EOF
cat /etc/dnf/dnf.conf
コントローラノード
echo "proxy = http://proxy01:3128" > ~/.curlrc

※proxy01は当環境のプロキシサーバのホスト名。

参考サイト

docs.openstack.org