OpenStackは、サービスとしてのインフラストラクチャ(IaaS)を提供するオープンソースのクラウドソフトウェアです。 。単一ノードと複数ノードにインストールできます。
この記事では、RDOリポジトリーとpackstackユーティリティを使用して、CentOS 7.xの3つのノード(コンピューティング+コントローラー+ネットワーク)にopenStackをデプロイします。シングルノードOpenStackのインストールについては、以下を参照してください:
CentOS7にシングルノードOpenStackをインストールする方法
記事では、VirtualBoxでホストされている3つの仮想マシンを使用しており、各VMには単一のLANインターフェイスがあります。以下はアーキテクチャの詳細です:
コントローラーノードの詳細:
- ホスト名=controller.example.com
- IPアドレス=192.168.1.30
- OS =CentOS 7.x
- DNS =192.168.1.11
以下のOpenStackコンポーネントがコントローラーノードにインストールされます:
- キーストーン
- 一瞥
- スウィフト
- シンダー
- 地平線
- 中性子
- Nova novncproxy
- Novnc
- Nova api
- Novaスケジューラ
- ノバコンダクター
計算ノードの詳細:
- ホスト名=compute.example.com
- IPアドレス=192.168.1.31
- OS =CentOS 7.X
- DNS =192.168.1.11
次のOpenStackコンポーネントがコンピュートノードにインストールされます:
- Nova Compute
- Neutron –Openvswitchエージェント
ネットワークノードの詳細:
- ホスト名=network.example.com
- IPアドレス=192.168.1.32
- OS =CentOS 7.x
- DNS =192.168.1.11
次のOpenStackコンポーネントがネットワークノードにインストールされます:
- Neutronサーバー
- NeturonDHCPエージェント
- Neutron-Openswitchエージェント
- NeutronL3エージェント
インストールのために次の手順を実行します:
ステップ:1以下のコマンドを使用してノードを更新します。
インストールされているすべてのパッケージを更新するには、3つのノードすべてで以下のコマンドを使用します。
# yum -y update ; reboot
ステップ:2 / etc/hostsファイルとホスト名を更新します
設定されていない場合は、以下のコマンドを使用して3つのノードすべてにホスト名を設定します。
# hostnamectl set-hostname 'new_hostname'
ローカルDNSが構成されていない場合は、/ etc/hostsファイルを更新します。
192.168.1.30 controller.example.com controller 192.168.1.31 compute.example.com compute 192.168.1.32 network.example.com network
ステップ:33つのノードすべてでSELinuxとNetworkManagerを無効にします。
以下のコマンドを使用して、3つのノードすべてでSELinuxを無効にします。
# setenforce 0
ファイル「/etc / sysconfig / selinux」のパラメータ「SELINUX=disabled」を変更してSELinuxを永続的に無効にしました ‘
以下のコマンドを使用して、3つのノードすべてでNetworkManagerを無効にします。
# systemctl stop NetworkManager # systemctl disable NetworkManager # reboot
ステップ:4コントローラーノードからコンピューティングおよびネットワークノードへのパスワードなし認証を設定します。
コントローラノードから以下のコマンドを実行します。
[[email protected] ~]# ssh-keygen [[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] [[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
今すぐ確認してください:
[[email protected] ~]# ssh compute Last login: Sun Apr 3 00:03:44 2016 from controller.example.com [[email protected] ~]# hostname compute.example.com [[email protected] ~]# [[email protected] ~]# ssh network Last login: Sun Apr 3 00:04:20 2016 from controller.example.com [[email protected] ~]# hostname network.example.com [[email protected] ~]#
ステップ:5RDOリポジトリを有効にし、packstackユーティリティをインストールします
以下のyumコマンドを使用して、RDOリポジトリを有効にし、packstackユーティリティをコントローラノードにのみインストールします。
[[email protected] ~]# yum install -y https://www.rdoproject.org/repos/rdo-release.rpm [[email protected] ~]# yum install -y openstack-packstack>
ステップ:6回答ファイルを生成してカスタマイズする
以下のコマンドを使用して、応答ファイルを生成します。
[[email protected] ~]# packstack --gen-answer-file=/root/answer.txt [[email protected] ~]#
応答ファイルを編集し、コントローラー、コンピューティング、およびネットワークノードのIPアドレスを指定します。これとは別に、さまざまなサービスのパスワードを指定し、デモバージョンやCeilometerなどのコンポーネントを無効にします。
[[email protected] ~]# vi /root/answer.txt ........................................ CONFIG_CONTROLLER_HOST=192.168.1.30 CONFIG_COMPUTE_HOSTS=192.168.1.31 CONFIG_NETWORK_HOSTS=192.168.1.32 CONFIG_PROVISION_DEMO=n CONFIG_CEILOMETER_INSTALL=n CONFIG_HORIZON_SSL=y CONFIG_NTP_SERVERS=<Specify NTP Server IP > CONFIG_KEYSTONE_ADMIN_PW=<Specify New_Password> ..........................................
注: NTPサーバーがない場合は、NTPパラメータをそのままにしておくことができますが、タイム同期にはntpサーバーを使用することを強くお勧めします。
ステップ:7packstackコマンドを使用してインストールを開始します。
これで、packstackコマンドを使用してopenstackのインストールを開始できます。コントローラノードから以下のコマンドを実行します。
[[email protected] ~]# packstack --answer-file=/root/answer.txt
インストールが正常に完了すると、以下のようになります。
インストール後、新しいインターフェース「 br-ex ‘はネットワークノードに作成されます。ネットワークインターフェース(enp0s3またはeth0、あるいは他の名前の場合もあります)をOpenvSwitchの「br-ex」ブリッジに追加します ポートとして、「enp0s3」のIPアドレスを「br-ex」に割り当てます
[[email protected] ~]# cd /etc/sysconfig/network-scripts/ [[email protected] network-scripts]# cp ifcfg-enp0s3 ifcfg-br-ex [[email protected] network-scripts]# vi ifcfg-enp0s3 DEVICE=enp0s3 HWADDR=08:00:27:37:4C:EF TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex ONBOOT=yes [[email protected] network-scripts]# vi ifcfg-br-ex DEVICE=br-ex DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=192.168.1.32 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.11 ONBOOT=yes
以下のコマンドを使用してネットワークサービスを再起動します。
[[email protected] network-scripts]# systemctl restart network [[email protected] network-scripts]#
ステップ:8Openstackダッシュボードにアクセスします。
次に、以下を使用して、ブラウザーからopenstackダッシュボードにアクセスしてみてください。
https://192.168.1.30/dashboard
「admin」としてユーザー名を使用し、answer.txtファイルで指定したパスワードを使用します。
[接続]をクリックします
注:ダッシュボードに「エラー:音量制限情報を取得できません」と表示された場合は、 cinder.confに以下を追加することで修正できます。 コントローラノード上のファイル。
[[email protected] ~]# vi /etc/cinder/cinder.conf .................................... [keystone_authtoken] auth_uri = http://<Controller_IP>:5000 auth_url = http://<Controller_IP>:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = services username = cinder password = <Cinder_Password> {Search CONFIG_CINDER_KS_PW in answer file} .....................................
Cinderサービスを再起動します。
[[email protected] ~]# systemctl restart openstack-cinder-api.service [[email protected] ~]# systemctl restart openstack-cinder-backup.service [[email protected] ~]# systemctl restart openstack-cinder-scheduler.service [[email protected] ~]# systemctl restart openstack-cinder-volume.service
ダッシュボードにログインできるので、インストール部分は完了したと言えます。次のタスクはインスタンスを起動することです。そのためには、次のタスクを実行する必要があります。
- プロジェクトとユーザーの作成
- ユーザーをプロジェクトに割り当てます。
- 画像とフレーバーを作成する
- 内部ネットワークと外部ネットワークを定義する
- ルーターの作成
- 仮想マシンまたはインスタンスのセキュリティルールを作成します。
上記のタスクを実行するには、以下のURLを参照してください:
- LibertyOpenStackダッシュボードからインスタンスを起動します。
参照:– https://www.rdoproject.org/install/packstack/