開発スタック は、仮想マシン、パーソナルラップトップ、またはデスクトップに最新バージョンのopenstack環境をデプロイするスクリプトのコレクションです。名前が示すように、開発環境に使用されます また、Openstack Projectの機能テストに使用でき、devstackによってデプロイされたopenstack環境は、デモンストレーションや基本的なPoCにも使用できます。
この記事では、Devstackを使用してCentOS 7 /RHEL7システムにOpenstackをインストールする方法を示します。以下は最小システム要件です
- デュアルコアプロセッサ
- 最小8GBのRAM
- 60GBハードディスク
- インターネット接続
以下は、devstackを使用したOpenstackデプロイメント用のラボセットアップの詳細です
- 最小インストール数のCentOS7/ RHEL 7(VM)
- ホスト名– devstack-linuxtechi
- IPアドレス– 169.144.104.230
- 10 vCPU
- 14 GB RAM
- 60GBハードディスク
導入手順を開始し、CentOS7またはRHEL7システムにログインしましょう
ステップ:1システムを更新してホスト名を設定する
次のyumコマンドを実行して最新の更新をシステムに適用してから、再起動します。また、再起動後、ホスト名を設定します
~]# yum update -y && reboot ~]# hostnamectl set-hostname "devstack-linuxtechi" ~]# exec bash
手順:2)Stackユーザーを作成し、それにsudo権限を割り当てます
すべてのインストール手順は、ユーザー名「スタック」で実行されます。 「、sudo権限を作成して割り当てるには、以下のコマンドを参照してください。
[[email protected] ~]# useradd -s /bin/bash -d /opt/stack -m stack [[email protected] ~]# echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack stack ALL=(ALL) NOPASSWD: ALL [[email protected] ~]#
手順:3)gitをインストールしてdevstackをダウンロードします
スタックユーザーに切り替え、yumコマンドを使用してgitパッケージをインストールします
[[email protected] ~]# su - stack [[email protected] ~]$ sudo yum install git -y
以下のgitコマンドを使用してdevstackをダウンロードします
[[email protected] ~]$ git clone https://git.openstack.org/openstack-dev/devstack Cloning into 'devstack'... remote: Counting objects: 42729, done. remote: Compressing objects: 100% (21438/21438), done. remote: Total 42729 (delta 30283), reused 32549 (delta 20625) Receiving objects: 100% (42729/42729), 8.93 MiB | 3.77 MiB/s, done. Resolving deltas: 100% (30283/30283), done. [[email protected] ~]$
ステップ:4)local.confファイルを作成し、openstackのインストールを開始します
devstackスクリプト(stack.sh)を使用してopenstackのインストールを開始するには、まず、セットアップに適したlocal.confファイルを準備する必要があります。
devstackフォルダーに移動し、以下の内容のlocal.confファイルを作成します
[[email protected] ~]$ cd devstack/ [[email protected] devstack]$ vi local.conf [[local|localrc]] #Specify the IP Address of your VM / Server in front of HOST_IP Parameter HOST_IP=169.144.104.230 #Specify the name of interface of your Server or VM in front of FLAT_INTERFACE FLAT_INTERFACE=eth0 #Specify the Tenants Private Network and its Size FIXED_RANGE=10.4.128.0/20 FIXED_NETWORK_SIZE=4096 #Specify the range of external IPs that will be used in Openstack for floating IPs FLOATING_RANGE=172.24.10.0/24 #Number Host on which Openstack will be deployed MULTI_HOST=1 #Installation Logs file LOGFILE=/opt/stack/logs/stack.sh.log #KeyStone Admin Password / Database / RabbitMQ / Service Password ADMIN_PASSWORD=openstack DATABASE_PASSWORD=db-secret RABBIT_PASSWORD=rb-secret SERVICE_PASSWORD=sr-secret #Additionally installing Heat Service enable_plugin heat https://git.openstack.org/openstack/heat master enable_service h-eng h-api h-api-cfn h-api-cw>
ファイルを保存して終了します。
/ opt / stack
で権限を設定します[[email protected] devstack]$ sudo chmod 755 /opt/stack
次に、スクリプト(stack.sh)を実行して、展開またはインストールを開始します
[[email protected] devstack]$ ./stack.sh
インターネット接続にもよりますが、30分から45分かかります。
上記のコマンドの実行中に、以下のエラーが発生した場合
+functions-common:git_timed:607 timeout -s SIGINT 0 git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch master fatal: unable to connect to git.openstack.org: git.openstack.org[0: 104.130.246.85]: errno=Connection timed out git.openstack.org[1: 2001:4800:7819:103:be76:4eff:fe04:77e6]: errno=Network is unreachable Cloning into '/opt/stack/requirements'... +functions-common:git_timed:610 [[ 128 -ne 124 ]] +functions-common:git_timed:611 die 611 'git call failed: [git clone' git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch 'master]' +functions-common:die:195 local exitcode=0 [Call Trace] ./stack.sh:758:git_clone /opt/stack/devstack/functions-common:547:git_timed /opt/stack/devstack/functions-common:611:die [ERROR] /opt/stack/devstack/functions-common:611 git call failed: [git clone git://git.openstack.org/openstack/requirements.git /opt/stack/requirements --branch master] Error on exit /bin/sh: brctl: command not found [[email protected] devstack]$
これらのエラーを解決するには、次の手順を実行します
bridge-utilsをインストールします パッケージ化してパラメータを「GIT_BASE=$ {GIT_BASE:-git://git.openstack.org}」から変更します 」から「GIT_BASE=$ {GIT_BASE:-https://www.github.com} stackrcファイルの」
[[email protected] devstack]$ sudo yum install bridge-utils -y [[email protected] devstack]$ vi stackrc …… #GIT_BASE=${GIT_BASE:-git://git.openstack.org} GIT_BASE=${GIT_BASE:-https://www.github.com} ……
次に、stack.shスクリプトを再実行します。
[[email protected] devstack]$ ./stack.sh
スクリプトが正常に実行されると、次のような出力が得られます。
これにより、openstackが正常にデプロイされたことを確認できます。
ステップ:5OpenstackCLIまたはHorizonDashboardのいずれかを介してOpenStackにアクセスします
openstack cliからタスクを実行する場合は、管理者の資格情報を含むソースopenrcファイルを最初に作成する必要があります。
[[email protected] devstack]$ source openrc WARNING: setting legacy OS_TENANT_NAME to support cli tools. [[email protected] devstack]$ openstack network list +--------------------------------------+---------+----------------------------------------------------------------------------+ | ID | Name | Subnets | +--------------------------------------+---------+----------------------------------------------------------------------------+ | 5ae5a9e3-01ac-4cd2-86e3-83d079753457 | private | 9caa54cc-f5a4-4763-a79e-6927999db1a1, a5028df6-4208-45f3-8044-a7476c6cf3e7 | | f9354f80-4d38-42fc-a51e-d3e6386b0c4c | public | 0202c2f3-f6fd-4eae-8aa6-9bd784f7b27d, 18050a8c-41e5-4bae-8ab8-b500bc694f0c | +--------------------------------------+---------+----------------------------------------------------------------------------+ [[email protected] devstack]$ openstack image list +--------------------------------------+--------------------------+--------+ | ID | Name | Status | +--------------------------------------+--------------------------+--------+ | 5197ed8e-39d2-4eca-b36a-d38381b57adc | cirros-0.3.6-x86_64-disk | active | +--------------------------------------+--------------------------+--------+ [[email protected] devstack]$
次に、Horizonダッシュボードにアクセスしてみてください。URLの詳細とクレデンシャルは、スタックコマンドの出力にすでに含まれています。
http:// {Your-Server-IP-Address} / dashboard
devstackスクリプトを使用してOpenStackを削除/アンインストールする
テストとデモンストレーションが完了し、システムからopenstackを削除したい場合は、Stackユーザーを介して次のスクリプトを実行します。
[[email protected] ~]$ cd devstack [[email protected] devstack]$ ./clean.sh [[email protected] devstack]$ ./unstack.sh [[email protected] devstack]$ rm -rf /opt/stack/ [[email protected] ~]$ sudo rm -rf devstack [[email protected] ~]$ sudo rm -rf /usr/local/bin/
このチュートリアルは以上です。手順が気に入った場合は、貴重なフィードバックやコメントを共有してください。