Openstack は無料のオープンソースのプライベートクラウドソフトウェアであり、単一のダッシュボードとopenstack cliコマンドを使用して、データセンターのコンピューティング、ネットワーク、およびストレージリソースを簡単に管理できます。この記事では、 packstackを使用してCentOS8システムにOpenstackをインストールする方法について説明します。 。 Packstackは、puppetモジュールを使用してopenstackのさまざまなコンポーネントをデプロイするコマンドラインユーティリティです。
packstackを使用したOpenstackデプロイメントは、通常、POC(概念実証)の目的で使用されるため、本番デプロイメントにpackstackを使用することはお勧めしません。 TripleOメソッドを使用して、本番環境にopenstackをデプロイします。
OpenStackの最小システム要件
- 最小限のCentOS8
- デュアルコアプロセッサ
- 8 GB RAM
- 40GBの空きディスク容量
- 安定したインターネット接続
- 少なくとも1枚のNICカード
マイラボのセットアップの詳細:
- ホスト名– openstack.example.com
- IP – 192.168.1.8
- フラットネットワーク– 192.168.1.0/24
openstackのインストール手順を詳しく見ていきましょう。
ステップ1)ホスト名を設定し、/ etc/hostsファイルを更新します
ターミナルを開き、次のhostnamectlコマンドを使用してホスト名を設定します。
[[email protected] ~]# hostnamectl set-hostname "openstack.example.com" [[email protected] ~]# exec bash
以下のechoコマンドを実行して、/ etc/hostsファイルにホスト名エントリを追加します。
[[email protected] ~]# echo -e "192.168.1.8\topenstack.example.com" >> /etc/hosts
ステップ2)Network Managerを無効にし、network-scriptsを使用してネットワークを構成する
ネットワークマネージャー はCentOS8のデフォルトのツールであり、ネットワークを管理しますが、Openstackの場合、openstackネットワークはnetwork-managerで正しく機能しないため、無効にする必要があります。ネットワークマネージャーの代わりに、ネイティブネットワークスクリプトをインストールする必要があります。
network-managerを無効にするには、次のコマンドを実行します。
[[email protected] ~]# systemctl disable NetworkManager [[email protected] ~]# systemctl stop NetworkManager
次のdnfコマンドを実行して、ネイティブネットワークスクリプトをインストールします
[[email protected] ~]# dnf install network-scripts -y
network-scriptsパッケージをインストールすると、ネイティブのnetwork.service
を使用してネットワーク(ifcfg- *ファイル)を管理できます。次に、ifcfg-enp0s3ファイルでIPアドレスを構成し、ネットワークサービスを開始しましょう
[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
ファイルを保存して終了し、次のコマンドを使用してネットワークサービスを開始します
[[email protected] ~]# systemctl start network [[email protected] ~]# systemctl enable network
次に、ipコマンドを使用してIPがNIC(enp0s3)に割り当てられているかどうかを確認します。
[[email protected] ~]# ip a s enp0s3
ステップ3)OpenStackリポジトリーを有効にし、packstackユーティリティをインストールします
この記事を書いている時点では、ussuri openstackが利用可能だったので、次のコマンドを実行してリポジトリーを構成します
[[email protected] ~]# dnf config-manager --set-enabled powertools or [[email protected] ~]# dnf config-manager --enable PowerTools [[email protected] ~]# dnf install -y centos-release-openstack-ussuri
利用可能なすべてのアップデートをインストールし、システムを再起動します。
[[email protected] ~]# dnf update -y [[email protected] ~]# reboot
再起動後にシステムが使用可能になったら、次のdnfコマンドを実行してpackstackユーティリティをインストールします
[[email protected] ~]# dnf install -y openstack-packstack
ステップ4)応答ファイルを生成し、packstackを使用してopenstackをインストールします
packstackコマンドを使用して、応答ファイルを生成します。
[[email protected] ~]# packstack --gen-answer-file /root/openstack-answer.txt
応答ファイルが生成されたら、viエディターを使用して次のパラメーターを編集します
[[email protected] ~]# vi /root/openstack-answer.txt .............. CONFIG_HEAT_INSTALL=y CONFIG_PROVISION_DEMO=n [email protected] CONFIG_NEUTRON_OVN_BRIDGE_IFACES=br-ex:enp0s3 ..............
ファイルを保存して終了します。
設定に従って、インターフェース名(enp0s3)を置き換えます。
注: デフォルトのテナントネットワークタイプドライブは「ジュネーブ」に設定されています 」とデフォルトのneutronタイプドライバーは「geneve」に設定されています およびフラット 」。これらのデフォルトパラメータを変更したい場合は、回答ファイルの次の行を更新してください。このデモでは、これらのパラメータを更新しません。
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=geneve,flat CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=geneve
次のコマンドを実行して、応答ファイルを使用してopenstackデプロイメントを開始します。
[[email protected] ~]# packstack --answer-file /root/openstack-answer.txt
システムのハードウェアとインターネットの速度にもよりますが、導入には約20〜30分かかります。正常にインストールされると、次のようになります。
次に、enp03インターフェイスからのIPがブリッジbr-exに割り当てられているかどうかを確認し、インターフェイスenp0s3がovs-bridgeのポートとして追加されているかどうかも確認します。
次のコマンドを実行します:
[[email protected] ~]# ip a s enp0s3 [[email protected] ~]# ip a s br-ex [[email protected] ~]# ovs-vsctl show
上記の出力は完璧で、インストールが成功したことを確認し、ネットワークも応答ファイルに従って構成されています。
ステップ5)Horizonダッシュボードにアクセスする
次に、Horizonダッシュボードにログインしてみます。上記の出力でURLはすでに指定されています。私の場合、URLは http://192.168.1.8/dashboardです。 、回答ファイルで指定した管理者とパスワードとしてユーザー名を使用します。
クレデンシャルについては、ファイル「keystonerc_admin」も参照してください
それでは、インスタンスを起動して、このopenstackデプロイメントをテストしてみましょう。
ステップ6)インスタンスを起動してOpenStackのインストールをテストおよび検証します
openstackでインスタンスを起動する前に、まずネットワークとルーターを作成し、イメージを一瞥する必要があります。それでは、まず、次のneutronコマンドを使用して管理テナントに外部ネットワークを作成しましょう。
[[email protected] ~]# source keystonerc_admin [[email protected] ~(keystone_admin)]# neutron net-create external_network --provider:network_type flat --provider:physical_network extnet --router:external
次に、次のneutronコマンドを実行して、フラットネットワークのサブネットを外部ネットワークに追加します。
[[email protected] ~(keystone_admin)]# neutron subnet-create --name public_subnet --enable_dhcp=True --allocation-pool=start=192.168.1.210,end=192.168.1.230 --gateway=192.168.1.1 external_network 192.168.1.0/24
次のneutronコマンドを実行してルーターを作成し、外部ネットワークを使用してゲートウェイを設定します
[[email protected] ~(keystone_admin)]# neutron router-create dev-router [[email protected] ~(keystone_admin)]# neutron router-gateway-set dev-router external_network
プライベートネットワークを作成し、それにサブネットを接続します。次のneutronコマンドを実行します
[[email protected] ~(keystone_admin)]# neutron net-create pvt_net [[email protected] ~(keystone_admin)]# neutron subnet-create --name pvt_subnet pvt_net 10.20.1.0/24
アンダー中性子コマンドを使用して、ルーター「dev_router」にpvt_netインターフェースを追加します。
[[email protected] ~(keystone_admin)]# neutron router-interface-add dev-router pvt_subnet
次に、Cirros画像をダウンロードして、Glanceにアップロードします
[[email protected] ~(keystone_admin)]# wget http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img [[email protected] ~(keystone_admin)]# openstack image create --disk-format qcow2 --container-format bare --public --file cirros-0.5.1-x86_64-disk.img cirros
次に、ホライズンダッシュボードに戻り、ネットワークトポロジを確認します
上記の完璧な方法は、プライベートネットワークと外部ネットワークがルーターとともに正しくセットアップされていることを確認します。
vmを作成する前の最後のステップとして、デフォルトのセキュリティグループを更新し、icmpおよびssh入力ルールを追加して、[セキュリティグループ]をクリックします。 [ネットワーク]タブの[ルールの管理]をクリックし、[ルールの追加]をクリックします。 」
同様に、sshのルールを追加します
[追加]をクリックします
これで、openstackインスタンスを起動するためのすべての要件が満たされました。 計算をクリックします タブをクリックしてから、インスタンスを選択します オプションをクリックし、「インスタンスの起動」をクリックします 」
VMが正常に起動されると、次のようになります。
次に、「アクション」の下で、フローティングIPをインスタンス(demo_vm)に関連付けます 」タブで、「フローティングIPの関連付け」を選択します 」
次に、IPを選択するか、+記号をクリックします 外部ネットワークからフローティングIPを取得し、それを関連付ける
IPがVMに関連付けられると、[IPアドレス]オプションの下にフローティングIPが表示されます。例を以下に示します
次に、フローティングIPを使用してこのdemo_vmにアクセスし、ユーザーとしてcirrosを使用し、パスワードとして「gocubsgo」を使用してみてください
上記の出力は、フローティングIPを介してインスタンスにアクセスできることを示しています。これで記事は終わりです。このチュートリアルがCentOS8システムにopenstackをデプロイするのに役立つことを願っています。フィードバックやコメントをお気軽に共有してください。
また読む :コマンドラインを使用してOpenStackでインスタンスを作成する方法