IT Blog

これはOpenStackのインストールに関する完全なチュートリアルです(最小限の設定)。 私は非常にオープンソースのクラウドOSを試してみたいと思います,そしてOpenStackは、深刻なソリューションの一つです,多くの機関や企業で使用されます. Cernはユーザーの中の1つであり、Red HatはOpenStackの強力な支持者です。

注意してください:この”アイロンをかけた”チュートリアルの後でさえ、すべてをセットアップした後にエラーが表示され、OpenStackを正常に動作させるために 私はいくつかのより多くの簡単なガイドで問題のいくつかについて書いていきます。

OpenStackはまた、インストールと保守が複雑で、あまり安定していないという評判を持っています。 私はOpenStackのトピックについて多くのことを読んで、多くのドキュメントを読んで、これが結果です。 これはTrain releaseの手動インストールをカバーし、この広範なシリーズは最小限のOpenStackインストールのすべてのコンポーネントをカバーします(この最小限の愚か者を

OpenStackの公式ドキュメントとデプロイメント自体にはいくつかの違いがあるため、このチュートリアルでは、間違いを探したり、エラーを解読したりする手順は面倒ですが、最後にOpenStackの基本原則をよく理解することができるので、非常にお勧めします。

主題についての詳細次回は、仕事に取り掛かろう。

学習曲線があり、私が読んだことから、OpenStackは現時点ではクラウドのニーズに安定したソリューションであると信じています。しかし、私たちは道に沿って表示されます、中に飛び込むことができます。

しかし、我々は途中で表示されます。

前提条件

インストールにCentOS7を使用します(v.1908)。 私はVMware Fusion/Workstationで私の研究室を作成します。 CentOSの初期インストールは、GUIまたは任意の追加なしで最小限です。私のすべてのVmには、4CPUコアと8GBのRAMがあり、最低120GBのハードドライブがあります。ここで最小要件を見つけることができます–https://docs.openstack.org/install-guide/overview.html

ネットワークおよびドライブコンポーネントからの追加要件について注意し、それに応じ私の研究室はインターネットにアクセスできます。

私の研究室はインターネッ私は道に沿ってOpenStackのドキュメントに従います–https://docs.openstack.org/install-guide/common/conventions.html

私は現在のものであるTrain buildをインストールします。 コントローラノード1と計算ノード1から始めます。10.0.0.1/24–ゲートウェイ

10.0.0.11/24–コントローラノード1

10.0.0.31/24–計算ノード1

10.0.0.41/24–ブロックストレージノード1

10.0.0.41/24-ブロックストレージノード1

10.0.0.41/24-ブロックストレージノード1

10.0.0.11/24-コントローラノード1

10.0.0.11/24-コントローラノード1

10.0.0.11/24-コントローラノード1

10.0.0.11/24-コントローラノード1

10.0.0.0…..51/24–オブジェクトストレージノード1

10.0.0.52/24-オブジェクトストレージノード2

後で、管理ネットワークになる203.0.113.0/24の範囲のネットワークを作成します。マシンの名前とIPアドレスも次のとおりです(hostsファイルにも必要です)。

10.0.0.11controller

10.0.0.31compute1

10.0.0.41block1

10.0.0.51object1

10.0.0.52object2

10.0.0.52object2

h3>マシンのホスト名を変更

ラボ内のすべてのマシンのホスト名を変更します。 ホスト名をこの上で指定した名前に変更します。

コマンドは、コントローラは、マシンの一つの名前で、あなたが合うものに変更し、以下のとおりです。

sudo hostnamectl set-hostname controller

ここでは、再起動後の変更が表示されます。私は自分のマシンに名前を付けました–コントローラ、compute1、block1、object1、object2。私の場合、インターフェイスifcfg-ens33があります

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33

次の行を編集しました(コントローラマシンの例):

BOOTPROTO=noneIPADDR=10.0.0.11PREFIX=24GATEWAY=10.0.0.1DNS1=10.0.0.1DNS2=8.8.8.8ONBOOT=yesIPV6INIT=no

次の行を編集しました:

BOOTPROTO=noneIPADDR=10.0.0.11PREFIX=24GATEWAY=10.0.0.1DNS1=10.0.0.1DNS2=8.8.8.8ONBOOT=yesIPV6INIT=no

次の行を編集しました:

BOOTPROTO=noneIPADDR=10.0.0.11PREFIX=24GATEWAY=10.0.0.1DNS1=10.0.0.1DNS2=8.8.8.8ONBOOT=yesIPV6INIT=no

次の行を編集しました:

BOOTPROTO=noneIPADDR=10.0.0.11PREFIX=24GATEWAY=10.0.0.1DNS1=10.0.0.1DNS2=8.8.8.8ONBOOT=yesIPV6INIT=no

次の行を編集しました:

ここでは、それがどのように見えるかですのように

ip構成を設定した後、マシンを再起動します。 ラボ内のすべてのマシンでこれらの手順を繰り返します(もちろん、それぞれに異なるIPアドレスを設定します)。

Centosのインストールを更新

先に進む前に、CentOSのインストールを更新します。 このようにして、インターネット接続も確認します。

sudo yum update -y

ホストファイルを編集します

ここでも、各マシンでそれを行う必要があります。 マシンが名前でお互いを見ることができるように、hostsファイルを編集します。これは私が入力する必要があるものです

10.0.0.11 controller10.0.0.31 compute110.0.0.41 block110.0.0.51 object110.0.0.52 object2

ここで私のファイルはどのように見えるかです

すべてokを実行した場合、コントローラからcompute1にpingし、その逆も名前でpingできるようになりました。 (あなたのpingがファイアウォールを介して利用可能であることを確認してください)

動作します。これらの値をすべてのマシンのすべてのhostsファイルに入力し、各マシンにpingを実行し、すべてのマシンからテストできることを確認します。

セットアップNTPサービス

正確な時間測定が重要なので、タイムサーバーを設定し、それにクライアントを接続します。 タイムサーバーは私達のコントローラーサーバーおよび顧客他のすべての機械です。

NTPサーバの設定

これはコントローラサーバで行います。

sudo yum install chrony -y

実行してサービスを有効にして開始します

sudo systemctl start chronydsudo systemctl enable chronyd

実行してサービスのステータスを確認することもできます

systemctl status chronyd

次に、/etc/chronyを編集します。confファイル

sudo vi /etc/chrony.conf

このチュートリアルでは、デフォルトのcentos NTPサーバーを残します。 それ以外の場合は、NTPサーバーを編集する場合は、以下のコマンドを追加することができます(NTP_SERVERをNTPサーバー名に置き換えます)

server NTP_SERVER iburst

また、次の行のコメントを解除して編集することにより、ローカルネットワークからのNTPクライアントへのアクセスを有効にする必要があります

allow 10.0.0.0/24

ここに私の設定があります。 緑色の部分はNTPサーバーに入る場所であり、赤色の部分は時刻同期のためにローカルネットワークからのアクセスを有効にします。p>

サーバーまたはchronyサービスを再起動します。

sudo systemctl restart chronyd

サーバーが時間を同期しているかどうかを確認します。

サーバーが時間を同期しているかどうかを確認します。

sudo systemctl restart chronyd

サービスは私のために働きます。また、ファイアウォールを介して有効にします

sudo firewall-cmd --permanent --add-service=ntpsudo firewall-cmd --reload

NTPクライアントのセットアップ

これらの手順は、残りのマシンで行う必要があります。ここでも、chronyをインストールする必要があります。

sudo yum install chrony

NTPサービスを有効にして開始します。

sudo systemctl start chronydsudo systemctl enable chronyd

その後、再び/etc/chronyを編集する必すべてのNTPサーバーをすべて削除し、次のように入力する必要があります。

server controller iburst

すべてをそのままにして、ファイルを閉じま これは私のように見える方法です。もう一度、NTPサービスを再起動します。

sudo systemctl restart chronyd

それが動作するかどうかを確認します。

chronyc sources

div>

それは動作し、クライアントはntpサーバーと通信しています。そして、NTPサーバーでコマンドを入力すると、compute1がNTPクライアントであることがわかります。

chronyc clients

マシンの残りの部分。

OpenStackパッケージ

これらの手順はすべてのノードで実行する必要があります。 CentOSのインストールを更新していない場合は、EPEL Repoも無効にしてください。

!

!!!///RED HATインストールの場合のみ、CENTOSはこれをスキップします

subscription-manager repos --enable=rhel-7-server-optional-rpms \ --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-rh-common-rpms

次のコマンドを実行します(列車リリースをインストールしています)

sudo yum install centos-release-openstack-train

次に実行するコマンドは

sudo yum upgrade

その後に再起動し、新しいカーネルを選択してアクティブにします。次のコマンドは次のようになります

sudo yum install python-openstackclient

そして最後に、OpenStackインストールをSELinuxに統合する必要があります

sudo yum install openstack-selinux

SQLデータベース

データベースがコントローラノードにインストールされます。MariaDBをインストールします。

sudo yum install mariadb mariadb-server python2-PyMySQL

インストールが完了したら、openstackを編集する必要があります。confは/etc/myにあります。cnf.次の情報を含むmysqldセクションを作成します(bind-addressがコントローラのアドレスであることを確認してください)

bind-address = 10.0.0.11default-storage-engine = innodbinnodb_file_per_table = onmax_connections = 4096collation-server = utf8_general_cicharacter-set-server = utf8

私の場合は次のようになります

mariadbを有効にして起動します

sudo systemctl enable mariadb.servicesudo systemctl start mariadb.service

ファイアウォール例外も追加します

sudo firewall-cmd --permanent --add-service=mysqlsudo firewall-cmd --reload

最後に、インストールを保護し、root sqlユーザーのパスワードを設定します

sudo mysql_secure_installation

メッセージキュー

openstackはメッセージキューを使用して次の操作を行います サービス間の操作とステータスを調整します。 それは通常コントローラーで動きます、従って私達はコントローラーにそれを取付けます。 RabbitMQをインストールします

インストール

sudo yum install rabbitmq-server

サービスを開始して有効にします

sudo systemctl enable rabbitmq-server.servicesudo systemctl start rabbitmq-server.service

openstackユーザーを追加します。 RABBIT_PASSをパスワードに置き換えます。p>

sudo rabbitmqctl add_user openstack RABBIT_PASS

許可を設定します

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

これらは、ファイアウォールの設定ですrabbitmq

sudo firewall-cmd --zone=public --permanent --add-port=4369/tcp --add-port=25672/tcp --add-port=5671-5672/tcp --add-port=15672/tcp --add-port=61613-61614/tcp --add-port=1883/tcp --add-port=8883/tcpsudo firewall-cmd --reload

オプションのselinuxコマンド

setsebool -P nis_enabled 1

memcached

サービスのidサービス認証メカニズムは、memcachedを使用してトークンをキャッ Memcachedサービスは通常、コントローラノード上で実行されるため、コントローラノードにインストールします。

Installation

sudo yum install memcached python-memcached

Next, we will edit /etc/sysconfig/memcached

sudo vi /etc/sysconfig/memcached

controller should be added to OPTIONS line, like this

OPTIONS="-l 127.0.0.1,::1,controller"

At last, we will enable and start service

sudo systemctl enable memcached.servicesudo systemctl start memcached.service

Optional firewall settings for memcached

sudo firewall-cmd --new-zone=memcached --permanentsudo firewall-cmd --zone=memcached --add-port=11211/udp --permanentsudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanentsudo firewall-cmd --zone=memcached --add-source=10.0.0.0/24 --permanentsudo firewall-cmd --reload

Etcd

Short explanation from docs.openstack.org-OpenStackサービスは、分散キーロック、設定の保存、サービスのライブネスの追跡、およびその他のシナリオのための分散信頼性の高いキー値ストアであるEtcdを使用

Etcdはコントローラノードにインストールする必要があります。次は/etc/etcd/etcdを編集します。conf

sudo vi /etc/etcd/etcd.conf

このようにファイルを編集し、コントローラのIPまたは名前に一致するように以下の値を変更する必要があります。これは私のファイルがどのように見えるかです

サービスを有効にして開始します

sudo systemctl enable etcdsudo systemctl start etcd

追加のファイアウォール設定

sudo firewall-cmd --add-port={2379,2380}/tcp --permanentsudo firewall-cmd --reload

だから、我々は多かれ少なかれ初期部分で”完了”されている、我々は今、列車のための最小限の展開を行う

電車のための最小限の展開

Ok、これまでのところ成功しました。 私たちは今、列車のための最小限のサービス展開を行うことになります。 詳細はここで見つけることができます–https://docs.openstack.org/install-guide/openstack-services.html

サービスは、以下に示すように、指定された順序でインストールする必要があります

このチュートリアルはすでに少し長くなっているので、私はここでそれを終了し、別々のチュートリアルでは、上記のサービスのそれぞれをカバーするつもりです。重要なことは、以下のようにすべてのサービスを正確な順序で実行することです。

ここにリンクがあります

  1. Identity service–Train用のkeystoneインストール

2. 画像サービス-電車のための一目インストール

3。 配置サービス-列車のための配置のインストール

4。 Compute service-Nova installation for Train

5. Networking service-neutron installation for Train

最小限のデプロイメントサービスをインストールした後、次のコンポーネントもインストールすることをお勧めします。

6. ダッシュボード-列車のための地平線のインストール

7。 ブロックストレージサービス-列車のための噴石のインストール

8。 Object Storage service – swift installation for Train

Additional links for after installation for errors you may encounter:

Disclaimer

コメントを残す

メールアドレスが公開されることはありません。