これはPrimeCloud ControllerサーバをAnsibleにより自動構築するためのPlay Bookである。 チュートリアルの手順をYAML化している。
ただしチュートリアルでは、予めビルドされたバイナリをインストールしているが、本自動化ツールでは、githubのPrimeCloud Controllerリポジトリより、指定したバージョンのソースコードをcloneしビルドしている。設定により、任意のブランチ、バージョンをインストールすることができる。
ビルド作業以降の手順は、チュートリアルとは異なるコマンドを発行している部分もありが、実施事項はまったく同じである。 想定しているネットワークアドレスやホスト名などのインストール条件は、チュートリアルと同じであるため、予め同じ設定としておくこと。
以下のAMIよりEC2インスタンスを作成する。 セキュリティグループについても、こちらを参考に設定すること。
ami-68147968 primecloud_controller-centos6-201510220559
作成したインスタンスに対して、AWS management consoleでこちらを参考に以下2点の設定をする。
- Source/Dest Checkの無効化
- VPC内でのルーティング設定
Ansibleのホストグループに、pccを作り、ターゲットホストのIPアドレスを追加。ansible-playbookは、"pcc"グループのホストに対してコマンドを発行する。 rootの鍵ファイルは、ansibleのhostsファイルにて設定しておき、ansibleを実行するホストからターゲットホストに 対し、rootでsshログインができることを予め確認しておくこと。
/etc/ansible/hostsの例:
[pcc]
50.60.70.80 <--作成したEC2インスタンスのIPアドレス
[pcc:vars]
ansible_ssh_user=root
ansible_ssh_private_key_file=/root/.ssh/KEY_FILE_NAME.pem
2015/12/21時点で最新は2.5.2-SNAPSHOT、Stable版は2.5.1である。
バージョンおよびブランチを設定する。
最新にしたい場合:
github_url: https://github.com/primecloud-controller-org/primecloud-controller.git
pcc_version: 2.5.2-SNAPSHOT
checkout_version: master
安定版にしたい場合:
github_url: https://github.com/primecloud-controller-org/primecloud-controller.git
pcc_version: 2.5.1
checkout_version: 2.5.1
この変数ファイルには、以下のパラメータを予め設定しておく。
vpc_id: PCCインスタンスを作成したサブネットをもつVPC IDを設定。PCCサーバと同じサブネットに、PCC管理のインスタンスを作成することを想定。aws_access_key_id: PCCのプラットフォームとして登録するAWSアカウントIDを記載(上記VPC IDを持つアカウントであること)aws_secret_access_key: AWSアクセスキーに対応するシークレットキーを記載pcc_user_id: PCCにログインするIDpcc_user_pw: PCCにログインするパスワード
PCCサーバがOpenVPNやGUIアクセスのためのhttpsで使用するサーバ証明書のパラメータをfiles/varsファイルに記載する。
任意の文字列に変更してください。
Oracleのサイトから、jdk-6u45-linux-x86-rpm.binをダウンロードし、filesディレクトリに保存する。
- ansible-playbook pcc_server_build.yml
- ansible-playbook pcc_tutorial.yml
- ansible-playbook install-sh.yml
まとめて実行するシェルスクリプトとしてall.shを作ってあるので、それを実行しても良い。
インストール作業は、おおよそ30分程かかる。
Ansibleのplay bookが終了したら、以下を順次実行することでPCCサーバへのログインが可能となる。
zabbix GUIにアクセスする。
https://<IPaddress>/zabbix
指示に従いウィザードを進行させる。"4.Confiure DB Connection"にて入力するMySQLのuserはzabbix、パスワードはpassword。
[こちら](http://www.primecloud-controller.org/documentation/tutorial/step5.html#zabbix-4)の手順に従い、Zabbix設定のインポートとZabbix APIアクセスユーザの作成を行う。
PCCユーザ管理ツールはzabbix APIへのアクセスが必要である。上記zabbix設定が終わると、zabbix APIへのアクセス が可能となるため、以下を実行することができる。
- ansible-playbook pcc_user.yml
以上で、PCCのインストールが終了である。以下のURLでPCCにアクセスが可能となっている。
https://<IPaddress>/auto-web
pcc_server_build.yml
|-os_setup.yml
|-oracle_jdk_install.yml
|-maven_install.yml
|-pcc_source_get.yml
pcc_source_build.yml
pcc_tutorial.yml
|-openvpn_install.yml
| |-easy_rsa.yml
|
|-named_install.yml
|
|-install-sh.yml
|-apache.yml
|-zabbix.yml
|-pcc_user.yml
|-tomcat.yml
pcc_user.yml
-
files インスタンスへ転送するファイルを配置
-
openjdk_install.yml oracle_jdk_install.ymlでは、Oracle JDKをインストールするが、こちらを呼び出すとOpenJDKをインストールす る。 ただし、後続タスクであるinstall-sh.ymlでは、PCCサーバでのJDKはOracle JDKを想定しているので、単純に入れ替えはできない。
-
test.yml taskのみを宣言しているYAMLを、個別に実行するための暫定的なファイル。
ライセンス GNU General Public License Version 2