以前の投稿で、OpenStack、DevStack、Chefなどの製品について言及しました。
この記事では、DevStackから始めます。
これは何ですか
今では、「クラウド」や「仮想化」などの一般的な単語を聞くことができます。 実際、どこかで「パフ」している1〜2台のサーバーの前に「サーバー」の山(スタック、 英語 、スタック、パイル、ヒープ)がある場合、非常に便利です。
もちろん、市場は現在、さまざまな仮想化プラットフォームで飽和状態になっていますが、2010年にOpenStackはRackspaceを放棄しました。
OpenStackとは何かを簡潔かつ詳細に説明しています。 DevStackは、OpenStack環境を迅速に展開するための単なるスクリプトのセットです。
OpenStackを使用すると、中小企業のITプロフェッショナルと大規模なITプロフェッショナルの両方が楽になることがあります。 これは、作成プロセス全体がスクリプトで説明されている間に、多数の仮想マシンを展開する必要がある場合に非常に便利なツールです。 もちろん、これは他の製品でも実行できますが、OpenStackは私に近いことがわかりました。
チャレンジ。
ソフトウェアテスト用の環境をセットアップし、最小数の「実際の」デバイス上で異なるオペレーティングシステムでN個の仮想マシンをホストできるようにします。
道具
- 4つ以上のコア、24 GBのRAM、2つの500 GB HDDを備えたプリインストールOS(Ubuntu、CentOS)を備えた1つのシステムユニット。 19〜25台の仮想マシンにはこれで十分です。 Ubuntu 14.04で例を挙げます。
- KiloのDevStackバージョン(Junoも使用できます)
- 良いインターネットチャンネル(ダウンロードするのがたくさん)
スタンドのIPアドレスは192.168.0.250になります。 したがって、外部ネットワークは192.168.0.0/24になります。
何が起こるべきですか?
その結果、いくつかの内部ネットワークと外部アドレスのセットを備えた仮想マシンをデプロイするための基本サービスを備えたOpenStack環境が得られます。 Neutronは、このような構成では必要ないという理由だけでインストールされません。
プロセスの進行。
準備する
小さく始めましょう:
apt-get update && apt-get upgrade -y
次に、この「システム」全体が機能するユーザーが必要です。 単純なスタックと呼びましょう
useradd -G sudo -m -U -s /bin/bash stack passwd stack
/ etc / sudoersのパスワードリクエストを忘れずに削除してください:
... stack ALL=(ALL:ALL) NOPASSWD: ALL ...
これで、 スタックユーザーから接続され、以降のすべてのアクションはこのユーザーから実行されます。
設置
gitをインストールし、必要なリポジトリを複製します:
sudo apt-get install git -y git clone https://github.com/openstack-dev/devstack.git -b stable/kilo cd devstack
一般に、概して、。/ stack.shを既にそのように実行でき、すべてがインストールされる可能性があります。 しかし、たいていはそうです。 したがって、いくつかのlocal.conf構成を作成します。
[[local|localrc]] HOST_IP=192.168.0.250 # IP FLAT_INTERFACE=p2p1 # FIXED_RANGE=10.10.128.0/24 # () FIXED_NETWORK_SIZE=254 # FLOATING_RANGE=192.168.0.0/24 # LOGFILE=/var/log/openstack/stack.sh.log # LOGDAYS=3 # ADMIN_PASSWORD=admin MYSQL_PASSWORD=SuperPuperSekret RABBIT_PASSWORD=SuperPuperSekret SERVICE_PASSWORD=SuperPuperSekret SERVICE_TOKEN=AAAAB3NzaC1yc2EAAAADAQABAAABAQCyYjfgyPazTvGpd8OaAvtU2utL8W6gWC4JdRS1J95G REGION_NAME=OfficeMiniCloudOne # LIBVIRT_TYPE=kvm # KVM VOLUME_BACKING_FILE_SIZE=200G # . , .
デフォルトのディレクトリ/ var / log / openstack /がないため、作成します。
sudo mkdir /var/log/openstack sudo chown stack:stack /var/log/openstack
LIBVIRT_TYPE = kvmは、 kvmを使用することを意味しますが、最初にサポートを有効にする必要があります。
sudo rmmod kvm-intel sudo sh -c "echo 'options kvm-intel nested=y' >> /etc/modprobe.d/dist.conf" sudo modprobe kvm-intel cat /sys/module/kvm_intel/parameters/nested modinfo kvm_intel | grep nested
何かがうまくいかないかもしれません。 たとえば、当社の機器がどのようにわからない場合! ただし、ほとんどすべての最新システムには必要な「スキル」があります。
何らかの未知の理由で、私はconfigからGIT_BASEパラメーターを選択しなかったので、 stackrcで変更することをお勧めします(必ずしもそうする必要はありません)。
GIT_BASE=${GIT_BASE:-https://www.github.com}
実は今
./stack.sh
コーヒー/お茶/レモネードを飲みに行きます。 インターネットチャネルとシステムユニットの電力に応じて、インストールプロセスは約30分または1時間続きます。 スクリプト自体は、RabbitMQ、MySQL、nova、cinderパッケージなどをインストールします。
その結果、楽しいメッセージが表示されます。
Horizon is now available at http://192.168.0.250/ Keystone is serving at http://192.168.0.250:5000/v2.0/ Examples on using novaclient command line is in exercise.sh The default users are: admin and demo The password: admin This is your host ip: 192.168.0.250
実際、 192.168.0.250に移動して、独自の仮想データセンターを構築できます。
他に何?
遅かれ早かれ、このシステムユニットの電源を切ったり再起動したりする必要があります。そうしないと、長い間消灯しているだけです。
cinderが正常に上昇できるようにするには、ファイルがマウントされているループデバイスを見つけ、このアクションを自動ロードに追加する必要があります。
sudo losetup -a losetup /dev/loop0 /opt/stack/data/stack-volumes-lvmdriver-1-backing-file
私の場合、それはそのようなものでした。 最後の行は、「 exit 0 」の前に/etc/rc.localに追加する必要があります。
それだけです! これで、スタックユーザーからの戻り時に安全に再起動して実行できます。
cd /home/stack/devstack ./rejoin-stack.sh
Ctrl + A + Dを押してSCREENを終了します
OpenStackのイメージリンク
Ubuntu 14.04 x64
CentOS 7
Windows Server 2012 R2 (ライセンス条項に同意する必要があります )
いくつかのスクリーンショット
最後の2つのスクリーンショットでは、10個のインスタンスを作成し、それらにグレーのユーザーを追加し、パスワードを設定し、 ホスト名を設定し、htopおよびmcパッケージをインストールし、 apt-get update && apt-get upgrade -yを実行します
cloud-init構文の詳細については、 こちらをご覧ください。
最後の2つのスクリーンショットでは、10個のインスタンスを作成し、それらにグレーのユーザーを追加し、パスワードを設定し、 ホスト名を設定し、htopおよびmcパッケージをインストールし、 apt-get update && apt-get upgrade -yを実行します
cloud-init構文の詳細については、 こちらをご覧ください。
次の記事では、2台のサーバーに「手動」でKeystone、Nova、Glance、Cinder、Neutronの構成にOpenStackをデプロイする方法と、これにChefを引き付ける方法を説明します(スポイラーの下には既に役立つリンクがあります)
この資料が誰かが時間と神経を節約するのに役立つことを願っています。