第4回 Cloudifyのインストール
本コラムでは、オーケストレーション技術とオーケストレーションの一例としてCloudifyについて説明してきました。今回はCloudifyを実際に試してみたい方に向けて、Cloudifyのインストール方法を解説します。
さまざまな環境で試すことを想定して、Virtual Box上の仮想マシンにCloudifyをインストールします。そして、CloudifyのWebUIにアクセスして、Cloudifyが実行中であることを確認します。
インストール情報
CLIとManager
CloudifyはCLIとManagerから構成されており、CLIとManagerで個別にインストーラーが用意されています。ManagerはCLIを内包しているため、ManagerをインストールするだけでCLIからの操作も試すことができます。
インストーラーの対応状況
CLIはRPM、DEB、EXE、OSXに対応しており、Windows、Linux(CentOS/RHEL/Debian/Ubuntu)、Mac OS環境での利用がサポートされています。
ManagerはRPMに対応しており、CentOS/RHEL (64bit)環境での利用がサポートされています。なお、Managerインストール済みのDocker、AMI(およびマーケットプレイス)、QCOWイメージファイルが用意されており、こちらを利用することも可能です。
図1. Cloudifyのダウンロードページ
参照
- Download Cloudify | Cloudify https://cloudify.co/download/
製品エディションとソフトウェアライセンス
Cloudifyは製品エディションとして、コミュニティ版とエンタープライズ版が存在しています。コミュニティ版では、オープンソースコミュニティで開発されている一通りのオーケストレーション機能を利用できます。エンタープライズ版では、コミュニティ版の機能に加えてテナント管理やクラスタ構成(High Availability)などの機能を利用できたり、Cloudify社のサポートを受けられたりします。
利用する製品エディションは、ダウンロードページにおいて、コミュニティ版またはエンタープライズ版のインストーラーから選択できます。
現在のソフトウェアライセンスでは、内部ビジネスを目的として、Cloudifyからオペレーティングシステムを10台まで管理することが許可されています。
また、エンタープライズ版について試用期間が定められており、インストール後60日間は無料で試すことができます。
参照
- Cloudify Software License Agreement | Cloudify https://cloudify.co/license
また本コラム第2回では、製品エディション別の機能一覧を紹介しています。
- 第2回 Cloudifyとは
http://www.intellilink.co.jp/column/sdi/2018/041100
Managerのハードウェア要件
ManagerはCLIやさまざまなコンポーネントを内包しており、インストール時に、いくつかのハードウェア/ソフトウェアの要件を満たしている必要があります。
Managerのハードウェア要件としては、vCPUが2コア以上、メモリが4GB以上、ストレージが5GB以上、NICが2枚以上を必要としています。このハードウェア要件を満たさない場合、インストール時にエラーが発生します。
項目 | 最小値 | 推奨値 |
---|---|---|
vCPU | 2コア | 8コア |
メモリー | 4GB | 16GB |
ストレージ | 5GB | 64sGB |
NIC | 2枚 | - |
参照
- Prerequisites for Installing a Cloudify Manager | Cloudify Documentation Center
https://docs.cloudify.co/latest/install_maintain/installation/prerequisites/
Managerのソフトウェア要件
Managerのソフトウェア要件としては、CentOS/RHELにおいてsudo権限の付与といくつかのパッケージインストールを必要としています。パッケージが不足していた場合は、インストール時にエラーが発生します。
項目 | 概要 |
---|---|
sudo | cloudifyの処理にsudo権限が必要です。sudo権限はrootユーザーでも必要になります。 |
openssl-10.0.2k | 認証情報の作成に必要です。 |
openssh-server | サニティチェックにおけるSSH鍵の作成に必要です。 |
logrotate | Cloudifyのログローテーションに必要です。 |
systemd-sysv | PostgreSQLコンポーネントに必要です。 |
initscripts | RabbitMQコンポーネントに必要です。 |
which | Logstashプラグインのインストールに必要です。 |
python-setuptools | CloudifyのPython処理に必要です。 |
python-backports | CloudifyのPython処理に必要です。 |
python-backports-ssl_match_hostname | CloudifyのPython処理に必要です。 |
Managerの使用ポート
Managerは複数のコンポーネントを利用しており、デフォルトでいくつかの使用ポートが定められています。使用ポートの詳細はリンク先を参照してください。表3には代表的な使用ポートを示します。ファイアウォール設定や仮想マシンのポートフォワーディング設定などの参考にしてください。
ポート番号 | 使用 |
---|---|
22 | CLIからのSSH接続(※オプション) |
80/443 | RESTサービスとWebUI(Nginx経由) |
5671 | RabbitMQ |
8083/8086 | InfluxDB(WebUI/REST) |
53333 | 内部的なREST通信 |
参照
- Prerequisites for Installing a Cloudify Manager | Cloudify Documentation Center
https://docs.cloudify.co/latest/install_maintain/installation/prerequisites/
インストール手順
今回は、最もシンプルでさまざまな環境でも試しやすい、スタンドアローン構成のインストール手順を解説します。なお、以下の説明では、ホストがインターネットに接続されていることを前提としています。
本インストール手順では、Virtual Box上の仮想マシン(CentOS 7)にManagerをインストールし、ManagerからOpenStackやAWS、Azureなどが制御できるようになることを想定します。ただし、今回はManagerのインストール手順の解説が本題であるため、OpenStackなどの構築手順の説明は省略しますのでご了承ください。
以下に、動作検証済み環境を示します。[図2参照]
動作検証済み環境 | |
---|---|
ホストOS | Windows 10 |
ホストOS上のソフトウェア | Virtual Box 5.2.12 |
ゲストOS | CentOS 7 (x86_64-DVD-1708) |
ゲストOS上のソフトウェア | Cloudify 4.3.2 |
図2. 動作検証済み環境のシステム構成
1. Virtual Boxのインストールと仮想マシンの作成
Virtual Boxの公式ページからインストーラーをダウンロードし、インストーラーの手順に沿ってVirtualBoxをインストールします。Virtual Boxマネージャーを起動して、「新規」ボタンを左クリックし、新しく仮想マシンを作成します。作成する仮想マシンには、Managerのハードウェア要件を満たすような設定を行います。
OSにはLinux/Red Hat(64-bit)、メモリには5120MB、ストレージには8GB(自動パーティション)、プロセッサー数には2コアを設定します。今回、ネットワークはブリッジネットワークを使用せず、NATとホストオンリーアダプターを使用します。ホストオンリーアダプターには、固定IPアドレス/ネットマスクを手動で割り当てておきます。(今回は192.168.56.1/24を割り当てます)
仮想マシンの設定 | |
---|---|
タイプ | Linux |
バージョン | Red Hat (64-bit) |
メモリーサイズ | 5120MB |
ハードディスク | 8GB(自動パーティション) |
プロセッサー数 | 2コア |
ネットワーク | NAT(DHCP) + ホストオンリーアダプター(192.168.56.1/24) |
図3. VirtualBoxマネージャーの仮想マシン設定
図4. VirtualBoxマネージャーのホストオンリーアダプター設定
2. CentOS 7のインストール
CentOSの公式ページからCentOS 7のISOファイルをダウンロードします。Virtual Boxマネージャーに移動し、手順1で作成した仮想マシンを選択して「起動」ボタンを左クリックすると、起動ハードディスクの選択画面が表示されます。ダウンロードしてきたISOファイルを選択して「起動」ボタンを左クリックすると、CentOS 7のインストーラーが起動します。
今回、CentOS 7のインストール作業では、ソフトウェアの選択には「最小限のインストール」、インストール先には「自動パーティション」を設定します[図5参照]。それ以外は適宜設定を行い、仮想マシンにCentOS 7をインストールします。
図5. CentOS 7の「インストールの概要」ページの設定
3. CentOS 7の基本設定
インストールしたCentOS 7 にログインし基本設定を行います。
初めに、Managerのソフトウェア要件を満たすため、実行ユーザー(<username>)に対してsudo権限を付与します。
sudo権限の付与
$ su – # visudo ※「%<username> ALL=(ALL) ALL: ALL」を設定します ※「<username> ALL=(ALL) NOPASSWD: ALL」を設定します # exit $ sudo ls ※sudo権限エラーが表示されたり、パスワードが要求されたりしないことを確認します
次に、CentOS 7からインターネットへのアクセスや、ホストOSからCentOS 7へのアクセスを可能にするため、CentOS 7のネットワーク設定を行います。
今回はnmtuiコマンドを使用してネットワークの設定を行います。NATアダプター(enp0s3)はデフォルト設定のままで自動接続のチェックを有効にし、ホストオンリーアダプター(enp0s8)はIPアドレス/ネットマスクの範囲内で固定IPアドレス(今回は192.168.56.101)を割り当て、自動接続のチェックを有効にします。そして、ネットワークサービスを再起動します。
ネットワーク設定
# nmtui ※NATアダプターの自動接続を有効にします ※ホストオンリーアダプターに固定IPアドレスを割り当て、自動接続を有効にします # systemctl restart network # ip a ※enp0s3, enp0s8にIPアドレスが割り当てられていることを確認します
図6. CentOS 7のホストオンリーアダプター(enp0s8)に対するネットワーク設定
ここまででネットワーク設定が完了しました。しかし、CentOS 7のデフォルト設定では、ホストOSからCentOS 7へのHTTPアクセスなどがファイアウォールで防がれてしまいます。さまざまな対応方法が存在しますが、今回は、CentOS 7のファイアウォールを停止させる方法で対応します。
ファイアウォール設定
# systemctl stop firewalld # systemctl disable firewalld # systemctl status firewalld ※「Active: inactive (dead)」と表示され、firewallが停止中であることを確認します
4. Managerに必要なパッケージのインストール
Managerのソフトウェア要件を満たすように、パッケージをCentOS 7にインストールします。 今回の手順に沿ってCentOS 7をインストールすると、openssl-1.0.2kやinitscriptsなどのパッケージはインストールされており、以下の3種類のパッケージのみが未インストールとなっています。
未インストールのパッケージ
- python-backports
- python-backports-ssl_match_hostname
- python-setuptools
そこで、yumコマンドを用いて未インストールのパッケージをCentOS 7にインストールします。インストール後は、rpmコマンドを用いてインストールされたことを確認します。
Managerのソフトウェア要件を満たすためのパッケージインストール
$ sudo yum install python-backports python-backports-ssl_match_hostname python-setuptools $ rpm –qa | grep –e python-backports –e python-setuptools ※3種類のパッケージ名が表示されることを確認します
5. ManagerのRPMパッケージインストール
Cloudifyのダウンロードページ(https://cloudify.co/download/)からRPMパッケージをダウンロードし、yumコマンドを用いてCentOS 7にインストールします。インストール後は、rpmコマンドを用いてインストールされたことを確認します。
rpmパッケージのインストールと確認
$ sudo yum install <cloudify-manager-install.rpm> $ rpm –qa | grep cloudify-manager ※「cloudify-manager-install-4.3.2-ga.x86_64」などが表示されることを確認します
6. Managerのconfig設定とインストール
RPMパッケージのインストールが完了すると、/etc/cloudify/config.yamlが作成されます。config.yamlには、プライベートIPアドレス、パブリックIPアドレス、admin権限ユーザーの設定、コンポーネントの設定などを記述できます。
設定項目 | 設定例 | 概要 |
---|---|---|
private_ip | 192.168.56.101 | Cloudify agent(オーケストレーション用の処理を実行したり、モニタリングのログ/メトリクスを収集してManagerに報告したりする機能)がCloudify Managerに接続するときに利用するIPアドレス。 |
public_ip | 192.168.56.101 | Cloudify CLIや他のクライアント(Web)が接続するCloudify ManagerのIPアドレス。 |
admin_username | admin | Cloudify Managerのadmin権限ユーザーの名前。 |
admin_password | admin | Cloudify Managerのadmin権限ユーザーのパスワード。指定しなければ、ランダムの値が付与され、インストール完了時に表示されます。 |
networks | {} | Cloudify agentがrabbitmqにイベント通知する際に使用するCloudify ManagerのIPアドレス。設定しなければprivate_ipの値が使用されます。 |
skip_sanity | false | Cloudify managerインストール時の正常性チェックをスキップするかどうかの設定。Trueを設定するとスキップされます。 |
今回は、private_ipとpublic_ipにホストオンリーアダプターの固定IPアドレス(192.168.56.101)、admin権限ユーザーに任意のパスワードを設定します。config.yamlの修正後にインストールコマンド(「cfy_manager install」)を実行することで、Managerのインストールが完了します。
Managerのインストール(4分程度で完了します)
$ sudo cfy_manager install
参照
- Installing and Configuring Cloudify Manager | Cloudify Documentation Center
https://docs.cloudify.co/latest/install_maintain/installation/installing-manager/
7. Managerのインストールの完了確認
Managerのインストールが完了すると、コマンドラインからCLI(cfyコマンド)が実行できるようになります。
ただし、インストール直後は、CLIから接続するManager情報が設定されていません。そこで、「cfy profiles」コマンドを用いて接続対象の設定を行います。今回は、インストール時に使用したpublic_ip、admin_username、admin_passwordを設定し、テナントはデフォルトで存在するdefault_tenantを設定します。
CLIから接続するManagerの設定
$ cfy profiles use <public_ip> -u <admin_username> -p <admin_password> -t default_tenant
CLIから接続するManager情報の設定が完了すると、対象のManagerのサービス稼働状況を確認できる「cfy status」コマンドが実行できるようになります。コマンドを実行すると、WebserverやRabbitMQなどが実行中であることを確認できます。
Managerのサービス稼働状況の確認
$ cfy status
図7.「cfy status」コマンドの実行結果
また、Windows上のWebブラウザからhttp://192.168.56.101にアクセスすることで、Managerのログインページにアクセスできます。ログインページにユーザー名とパスワードを入力して「Login」ボタンを左クリックすると、Managerの管理ページにアクセスできます。管理ページでは、Cloudifyの機能をUIベースで実行できます。
図8. Cloudify Managerのログインページ
図9. Cloudify Managerの管理ページ
今回は、スタンドアローン構成のCloudifyをVirtualBox上にインストールする手順について解説しました。
本来は、CloudifyをCLIとManagerに分離してCLIからSSLモードで接続できるようにしたり、Cloudifyと制御対象を安全性の高いネットワーク上に構築したり、機密性の高いシステム構成を採用する必要がありますが、まずはシンプルな環境でCloudifyのさまざまな機能をお試しいただければと思います。
Writer Profile
ソリューション事業部
SDIソリューションビジネスユニット SDIグループ
赤木 信也
Tweet