Recommended
PDF
DevStackで始めるCloud FoundryとBOSH
PDF
BOSHで始めるImmutable Infrastructure
PDF
BOSH-lite で 1VM Cloud Foundry
PPTX
PDF
Cloud Foundry Admin UI v2を使ってみた
PDF
aws上でcloud foundryを構築してみた
PDF
PDF
PDF
PDF
PDF
PDF
Using Kubernetes on Google Container Engine
PDF
CloudFoundry 2 on Apache CloudStack 4.2.1
PDF
PDF
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
PPT
PDF
Cloud Foundry V2を、もうちょっと深掘りしよう
PDF
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
PPTX
PPTX
GNS3上の仮想アプライアンス+GitLabRunner+BDDによるテスト自動化
PDF
Open Stack Day - Ansibleによる環境構築の自動化
PDF
PDF
PDF
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
PDF
【dots. IT勉強会】開発環境のDocker化
PDF
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
PDF
OpenStackを一発でデプロイ – Juju/MAAS - OpenStack最新情報セミナー 2015年2月
PDF
OpenStack QuickStart - havana
PPTX
RDOを使ったOpenStack Havana - Neutron 構築編
More Related Content
PDF
DevStackで始めるCloud FoundryとBOSH
PDF
BOSHで始めるImmutable Infrastructure
PDF
BOSH-lite で 1VM Cloud Foundry
PPTX
PDF
Cloud Foundry Admin UI v2を使ってみた
PDF
aws上でcloud foundryを構築してみた
PDF
PDF
What's hot
PDF
PDF
PDF
PDF
Using Kubernetes on Google Container Engine
PDF
CloudFoundry 2 on Apache CloudStack 4.2.1
PDF
PDF
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
PPT
PDF
Cloud Foundry V2を、もうちょっと深掘りしよう
PDF
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
PPTX
PPTX
GNS3上の仮想アプライアンス+GitLabRunner+BDDによるテスト自動化
PDF
Open Stack Day - Ansibleによる環境構築の自動化
PDF
PDF
PDF
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:ハンズオンNo1
PDF
【dots. IT勉強会】開発環境のDocker化
PDF
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
PDF
OpenStackを一発でデプロイ – Juju/MAAS - OpenStack最新情報セミナー 2015年2月
Viewers also liked
PDF
OpenStack QuickStart - havana
PPTX
RDOを使ったOpenStack Havana - Neutron 構築編
DOCX
PDF
エンジニア向け夏期特別講座 〜 Red Hat OpenStack徹底解説! 第二部 OpenStackの内部構造
PDF
富士通におけるCloud Foundry活用の取り組み
PDF
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No1
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2
PDF
OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No2
PDF
PDF
Cloud Foundryで学ぶ、PaaSのしくみ講座
Similar to Cloud founryインストール手順
PDF
CloudFoundry 2 on Apache CloudStack 4.2.1
PDF
Slide osc2013tokyo spring
PDF
PDF
Apache cloudstack4.0インストール
PDF
Personal Cloud Automation
PDF
OpenStack環境構築手順書 Havana版 バージョン2.2
PDF
Apache CloudStack 4.0 インストール(ver0.5)
PDF
PDF
Citrix XenServer ® 5.6 Service Pack 2 管理者ガイド
PDF
KEY
PDF
PDF
PDF
PDF
PDF
Yocto Project ハンズオン / 参加者用資料
PPTX
PPTX
PPTX
PDF
Cloud founryインストール手順 1. 2. 3. はじめに
本ドキュメントは CroudFoudy V2 環境を構築する手順を記述したドキュメントである。
本ドキュメントは以下の環境での作業を想定している。
クラウド基盤 Cloudstack Ver4.2.1
VM Ubuntu 12.04
ストレージ領域 プライマリストレージ:約 350GB
セカンダリストレージ:約 150GB
本作業で必要なユーザーの種類・権限は以下の通り。
環境 ユーザーの種類 権限 本ドキュメントで使用するユーザー
インスタンス Linux ユーザー 管理者 root
一般
本ドキュメントでは、特に指定がない限り管理者(root)を使用すること。
ii
COPYRIGHT FUJITSU LIMITED 2014
4. 目次
目次 iii
1.前提1
2.インセプションサーバの構築............................................................................................. 2
2.1.Ubuntu イメージの起動.................................................................................................................................................2
2.2.インセプションサーバ上での各設定変更.........................................................................................................2
2.2.1.root ログイン設定........................................................................................................................................................2
2.2.2.内部作業領域のサイズ拡張..................................................................................................................................3
2.2.3.プロキシサーバの設定...........................................................................................................................................3
2.3.インセプションサーバへのインストール.........................................................................................................3
2.3.1.パッケージリポジトリの追加と upgrade の実行............................................................................................3
2.3.2.acpiphp カーネルモジュールのアクティブ化..................................................................................................4
2.3.3.関連ツールのインストール..................................................................................................................................4
2.3.4.Ruby インストール....................................................................................................................................................4
3.BOSH インストール............................................................................................................ 6
3.1.BOSH のインストールと MicroBOSH の実行......................................................................................................6
3.1.1.BOSH のインストール..............................................................................................................................................6
3.1.2.依存 gem のインストール.........................................................................................................................................6
3.1.3.stemcel の作成..................................................................................................................................................................6
3.1.4.Proxy サーバの非参照設定......................................................................................................................................8
3.1.5.キーペアファイルの作成.......................................................................................................................................8
3.1.6.マニフェストファイルの作成............................................................................................................................10
3.1.7.ソースコードの修正...............................................................................................................................................12
3.1.8.マイクロボッシュのデプロイ............................................................................................................................14
3.2.BOSH デプロイの準備...............................................................................................................................................15
3.2.1.Proxy サーバの設定..................................................................................................................................................15
3.2.2.不足領域の追加........................................................................................................................................................15
3.2.3.cf-release の設定.............................................................................................................................................................17
3.2.4.stemcell のアップロード...........................................................................................................................................17
4.CloudFounry の展開............................................................................................................ 20
4.1.CloudFoundry デプロイの準備...................................................................................................................................20
4.1.1.Cloudstack インスタンスの帯域制限の解除.....................................................................................................20
4.1.2.デプロイ用マニフェストの作成......................................................................................................................22
4.1.3.マニフェスト内容の修正内容...........................................................................................................................32
4.2.CloudFoundry のデプロイ............................................................................................................................................32
4.2.1.デプロイの実行........................................................................................................................................................32
iii
COPYRIGHT FUJITSU LIMITED 2014
5. 4.2.2.cf コマンドのインストール.................................................................................................................................32
5.DB サービス(MySQL サービス)の展開........................................................................ 33
5.1.ソースの取得................................................................................................................................................................33
5.2.Upload Release の実行.....................................................................................................................................................33
5.3.マニフェストの作成.................................................................................................................................................33
5.4.MySQL サービスのデプロイ..................................................................................................................................34
5.5.cf サービスの設定.......................................................................................................................................................35
iv
COPYRIGHT FUJITSU LIMITED 2014
6. 1. 前提
CloudFoundry 環境を動作させる(構築する)環境として、以下をあらかじめ準備しておく。
・Cloudstack 環境(KVM 使用)
・UbuntuOS イメージ(Ver12.04)
・以下のコンピュータオファリング
○ コンピュータオファリング
コンピュータオファリング名 CPU メモリ
m1.small 1core 500MB
m1.medium2 1core 2GB
m1.large 2core 2GB
m1.large2 2core 4GB
○ ディスクオファリング
ディスクオファリング名 サイズ
disk2gb 2GB
disk10gb 10GB
disk20gb 20GB
1
COPYRIGHT FUJITSU LIMITED 2014
7. 2. インセプションサーバの構築
CloudFoundry のインストールにあたり、BOSH によるデプロイを行うための最初の BOSH(Micro
BOSH)サーバ(インセプションサーバ)を Cloudstack 上に UbuntuVM を起動して構築します。
2.1. Ubuntu イメージの起動
あらかじめ Cloudstack 上に準備した Ubuntu12 のイメージを利用してインセプションサーバとなる
Ubuntu の VM を起動します。
※使用コンピュータオファリング:m1.small
2.2. インセプションサーバ上での各設定変更
起動した Ubuntu の VM 上で、以下の各設定を行います。
2.2.1. root ログイン設定
インセプションサーバに root ユーザでのログインとリモートでの root ログイン許可の設定を行い
ます。
(1) root でログインし、パスワードの設定を行う
$ sudo su –
# passwd
(2) root での ssh 接続を許可する設定
設定ファイル(sshd_config)を修正
# vi /etc/ssh/sshd_config
PermitRootLogin without-password
↓
PermitRootLogin yes
-----
#PasswordAuthentication yes
↓
PasswordAuthentication yes
(3) 設定更新
上記修正後プロセス再起動
# initctl restart ssh
2
COPYRIGHT FUJITSU LIMITED 2014
8. 2.2.2. 内部作業領域のサイズ拡張
作業時に内部で使用される領域(/tmp)に対して、領域不足にならないようにあらかじめ Cloudstack
上でストレージを作成しアタッチ・マウントしておく。
(1)ストレージの作成
アタッチするストレージ(20GB)を GUI から作成しアタッチする。
(2)領域のマウント
作成したストレージを/tmp にマウントする。
# mount /dev/vdb /tmp
※ アタッチしたボリュームが/dev/vdb の場合
2.2.3. プロキシサーバの設定
以下のコマンドを例に、インセプションサーバの環境変数(http_proxy、https_proxy)へプロキシサー
バを設定する。
設定例)
export http_proxy=http://mp067159:8160584683@rep.proxy.nic.fujitsu.com:8080/
export https_proxy=http://mp067159:8160584683@rep.proxy.nic.fujitsu.com:8080/
2.3. インセプションサーバへのインストール
2.3.1. パッケージリポジトリの追加と upgrade の実行
apt-get 実行用に、Japanese Team のパッケージリポジトリを以下のコマンドを例に追加する。
# wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
# wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
# wget https://www.ubuntulinux.jp/sources.list.d/precise.list -O /etc/apt/sources.list.d/ubuntu-ja.list
# apt-get update
パッケージの更新(upgrade)を行う
3
COPYRIGHT FUJITSU LIMITED 2014
9. # apt-get upgrade
2.3.2. acpiphp カーネルモジュールのアクティブ化
以下のコマンドを例に、acpiphp カーネルモジュールのアクティブ化を行う。
# modprobe acpiphp
# sh -c "echo acpiphp >> /etc/modules"
2.3.3. 関連ツールのインストール
必要となる関連ツール(パッケージ)のインストールを以下のコマンドを例に行う。
(1) git インストール
# apt-add-repository ppa:git-core/ppa
# apt-get update
# sudo apt-get install git-core
(2) Ruby、Gems 関連の事前インストール
# apt-get install g++ make libxslt-dev libxml2-dev libsqlite3-dev zlib1g-dev libreadline-dev libssl-dev libcurl4-openssl-dev
(3) stemcell 関連のインストール
# apt-get install libsqlite3-dev genisoimage libmysqlclient-dev libpq-dev debootstrap kpartx
2.3.4. Ruby インストール
(1) プロキシサーバの設定
git インストールのために以下のコマンドを例にプロキシサーバを git の config に設定する。
# git config --global http.proxy http://mp067159:8160584683@rep.proxy.nic.fujitsu.com:8080/
# git config --global https.proxy http://mp067159:8160584683@rep.proxy.nic.fujitsu.com:8080/
(2) rbenv のインストール
rbenv および関連パッケージを以下のコマンドを例にインストールする。
# apt-get install build-essential bison libreadline6-dev curl git-core zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-
dev libxslt1-dev autoconf libncurses5-dev
4
COPYRIGHT FUJITSU LIMITED 2014
10. # git clone http://github.com/sstephenson/rbenv.git .rbenv
# git clone http://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
(3) profile の設定
rbenv を使うために必要な設定を ~/.bash_profile に記述する。
$ vi ~/.bash_profile
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
保存後に反映する。
$ source ~/.bash_profile
(4) Ruby インストール
rbenv を利用し、Ruby のインストールリストを表示する。
# rbenv install --list
リストされたバージョンを参照して Ruby のインストールを行う。
# rbenv install 1.9.3-p547
# rbenv global 1.9.3-p547
# ruby --version
ruby 1.9.3p547 (2014-05-14 revision 45962) [x86_64-linux]
5
COPYRIGHT FUJITSU LIMITED 2014
11. 3. BOSH インストール
3.1. BOSH のインストールと MicroBOSH の実行
3.1.1. BOSH のインストール
以下のコマンドを例に、git を使用して Bosh のインストールを行う。
# git clone https://github.com/cloudfoundry-community/bosh-cloudstack-cpi.git ~/bosh
# cd ~/bosh
3.1.2. 依存 gem のインストール
以下のコマンドを例に、依存 gem をインストールする
# gem install bundler
# bundle
3.1.3. stemcel の作成
(1) ベースイメージ作成
Bosh で使用する VM イメージ(stemcell)を作成する。
# bundle exec rake stemcell:build_os_image[ubuntu,precise,/tmp/ubuntu_base_image.tgz]
オプション説明:ubuntu … OS 名を指定する。
:precise … OS のバージョンを指定(ubuntu の場合、precise や lucid)
:/tmp/ubuntu_base_image.tgz … 作成ファイル名
(2) ソース(bosh-stemcell)内のカーネルバージョン指定箇所修正
上 記 コ マ ン ド で 一 時 的 に 作 成 さ れ る イ メ ー ジ フ ァ イ ル 作 成 用 デ ィ レ ク ト リ
(/mnt/stemcells/null/null/ubuntu/work/work/chroot)もしくは作成した圧縮イメージファイル内の「/boot」内
に格納されているカーネルファイル(initrd.img-xxx-virtual、vmlinuz-xxx-virtual)のバージョンを確認し 、
/root/bosh/bosh-stemcell/spec/stemcells/ubuntu_precise_spec.rb の 3 行目から 14 行目(describe ~ end まで)に記載
されている各カーネルバージョンを確認したバージョンに合わせて修正する。
# ls /mnt/stemcells/null/null/ubuntu/work/work/chroot/boot
System.map-3.2.0-70-virtual config-3.2.0-70-virtual initrd.img-3.2.0-70-virtual
abi-3.2.0-70-virtual grub vmlinuz-3.2.0-70-virtual
※作成した ubuntu のカーネルバージョンが「3.2.0-70」であることを確認
# vi /root/bosh/bosh-stemcell/spec/stemcells/ubuntu_precise_spec.rb
6
COPYRIGHT FUJITSU LIMITED 2014
12. (略)
describe 'Ubuntu 12.04 stemcell', stemcell_image: true do
context 'installed by image_install_grub' do
describe file('/boot/grub/grub.conf') do
it { should be_file }
it { should contain 'default=0' }
it { should contain 'timeout=1' }
it { should contain 'title Ubuntu 12.04.5 LTS (3.2.0-68-virtual)' }
it { should contain ' root (hd0,0)' }
it { should contain ' kernel /boot/vmlinuz-3.2.0-68-virtual ro root=UUID=' }
it { should contain ' selinux=0' }
it { should contain ' initrd /boot/initrd.img-3.2.0-68-virtual' }
end
(略)
↓ 以下のように修正
(略)
describe 'Ubuntu 12.04 stemcell', stemcell_image: true do
context 'installed by image_install_grub' do
describe file('/boot/grub/grub.conf') do
it { should be_file }
it { should contain 'default=0' }
it { should contain 'timeout=1' }
it { should contain 'title Ubuntu 12.04.5 LTS (3.2.0-70-virtual)' }
it { should contain ' root (hd0,0)' }
it { should contain ' kernel /boot/vmlinuz-3.2.0-70-virtual ro root=UUID=' }
it { should contain ' selinux=0' }
it { should contain ' initrd /boot/initrd.img-3.2.0-70-virtual' }
end
(略)
(3) stemcell イメージの作成
以下のコマンドを実行し、(1)で作成したベースイメージから stemcell イメージを生成する。
# bundle exec rake stemcell:build_with_local_os_image[cloudstack,ubuntu,precise,ruby,/tmp/ubuntu_base_image.tgz]
7
COPYRIGHT FUJITSU LIMITED 2014
13. 3.1.4. Proxy サーバの非参照設定
内部のローカルアドレス(インセプションサーバやインセプションサーバから起動される Firstbosh
サーバ)を Proxy サーバなしで参照するように「no_proxy」環境変数を指定する。
# export no_proxy=172.16.10.224,172.16.10.227,172.16.10.228
※管理サーバの IP、ルータ VM の IP とインセプションサーバ自身の IP を除外対象に指定
3.1.5. キーペアファイルの作成
(1) スクリプトファイル作成
Cloudstack の API を使用して SSH キーペアファイルを作成するため、以下のスクリプトファイルを
作成する。
# cat kick_api.sh
-----------------------------------------
#!/bin/bash
#
# kick_api.sh
#
# please set your host
address="http://172.16.10.224:8080" # Cloudstack 管理サーバの URL
# please set your api key (CloudStackGUI であらかじめ作成しておく)
api_key="QBbqiA_mGMp23w8lX1zadH_PCruxaqj55iTtQgCQst5Pd5aJ1TrXKErTX3UKIvmx4Ok5WaJZNPwY0o
1Y_ORP2A"
# please set your secret key(CloudStackGUI であらかじめ作成しておく)
secret_key="oN5z4NafX9OrwknE39f9sT_rhSrfdCa1CRuoCjO3iD214wzM4JGLIT2TjwmvBerWLuM9OOdnCEtyV
pPy02rOkg"
api_path="/client/api?"
if [ $# -lt 1 ]; then
echo "usage: $0 command=... paramter=... parameter=..."; exit;
elif [[ $1 != "command=" ]]; then*
echo "usage: $0 command=... paramter=... parameter=..."; exit;
elif [ $1 == "command=" ]; then
echo "usage: $0 command=... paramter=... parameter=..."; exit;
fi
data_array=("$@" "apikey=${api_key}")
temp1=$(echo -n ${data_array[@]} |
tr " " "n" | sort -fd -t'=' |
8
COPYRIGHT FUJITSU LIMITED 2014
14. perl -pe's/([ -_.~A-Za-z0-9=s])/sprintf("%%%02X", ord($1))/seg'| ^
tr "A-Z" "a-z" | tr "n" "&" )
signature=$(echo -n ${temp1[@]})
signature=${signature%&}
signature=$(echo -n $signature |
openssl sha1 -binary -hmac $secret_key |
openssl base64 )
signature=$(echo -n $signature |
perl -pe's/([ -_.~A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg')^
url=${address}${api_path}$(echo -n $@ | tr " " "&")"&"apikey=$api_key"&"signature=$signature
echo " SEND URL: $url"
curl ${url}
(2) キーペア作成
上記で作成したスクリプトファイルを以下のコマンドのとおりに実行し、キーペアを作成する。
(name=はキー名として任意の名前を指定可能)
コマンド:./kick_api.sh command=createSSHKeyPair name=<キー名>
例)
# ./kick_api.sh command=createSSHKeyPair name=cfmykey
SEND URL: http://172.16.10.224:8080/client/api?
command=createSSHKeyPair&name=cfmykey&apikey=QBbqiA_mGMp23w8lX1zadH_PCruxaqj55iTtQgCQst5Pd5aJ1
TrXKErTX3UKIvmx4Ok5WaJZNPwY0o1Y_ORP2A&signature=gPmSPYqd2fIaSf5%2BX2K%2FvEdgaD8%3D
<?xml version="1.0" encoding="UTF-8"?><createsshkeypairresponse cloud-stack-
version="4.2.1"><keypair><privatekey>-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCqPLtCyjC3GeLwJODEI9eJLnaanRzxpvU2BWfuUTMem5/s8hwe
FN2cr7ZC5deW9cR1P394OFtWVarOdvDymHntUsZeJMxGY3ad5WlNL5OBLy1aqSIk
T7p7S7ZHfFpEZ8Qx6M13E3xc27T9o+DJMPV300vjSL3sJy+vAcrIGyusQQIDAQAB
AoGAE/mwV3P2J2YINPl+zkUOY3BqRlYtMUXP/BjCSzqH7w1/xIPcPMNiBaKwlkT1
+Sa5eLCMuoSSYx0GP9fBChZOKBPScMrC/77s03U8lLDSaDPid45st8U9dQy6Id97
ny1D3+hU2NNvaVPCZYqtvsGhhLhQ3Hj7YnmbqEJN7I8pTUkCQQDRXknbOkjjm1uX
rqter6jU8r1TS9a3HpJIgbxWD+9qNZmBDJJIb7dB+6NXg3/oljJynB48LRgDlU5Y
cfwCAGlTAkEA0CdGyBRFNWaqKpLR1wugN0CPDrh4AkwSOCne64ReJiLDaLohcCjr
ASHF/ShwyQ/lX/fZfo4u/Nld3c5IO9ydmwJBAK024Muq8Nq9kY1wSP9RPNDQ8qmT
ONTPSh8KlpJtJJouNg16JRwgsPC6C20/sfbvLFV9q9YFSLTONb8ermvJg1kCQCsw
9
COPYRIGHT FUJITSU LIMITED 2014
15. WxFck1eXK6uVtxBliyKrtIMbZ1siqY0ZsvUvC9Hh2KW8KP/6nXgop8n1QCGXuMIG
zQvjOICiIUXKbVZuWg0CQEqhaJ1xWZkxd2EuDcPr+JPBJSS/DyOOtdqNQBTpoJLz
fVkHNwwStJIU4x9/CULbRtvqedyTsIYmnfSKWZtoVJ0=
-----END RSA PRIVATE KEY-----
</privatekey><name>cfmykey</name><fingerprint>db:12:1e:5c:79:0c:ba:06:35:51:7e:4c:21:a9:c9:94</fingerprint>
</keypair></createsshkeypairresponse>root@ubuntu14:~#
(3) キーファイル保存
表示された実行結果の「-----BEGIN RSA PRIVATE KEY-----」から「-----END RSA PRIVATE KEY-----」の
間の内容について、キーファイルを作成して保存します
# vi /root/cfmykey
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCqPLtCyjC3GeLwJODEI9eJLnaanRzxpvU2BWfuUTMem5/s8hwe
FN2cr7ZC5deW9cR1P394OFtWVarOdvDymHntUsZeJMxGY3ad5WlNL5OBLy1aqSIk
T7p7S7ZHfFpEZ8Qx6M13E3xc27T9o+DJMPV300vjSL3sJy+vAcrIGyusQQIDAQAB
AoGAE/mwV3P2J2YINPl+zkUOY3BqRlYtMUXP/BjCSzqH7w1/xIPcPMNiBaKwlkT1
+Sa5eLCMuoSSYx0GP9fBChZOKBPScMrC/77s03U8lLDSaDPid45st8U9dQy6Id97
ny1D3+hU2NNvaVPCZYqtvsGhhLhQ3Hj7YnmbqEJN7I8pTUkCQQDRXknbOkjjm1uX
rqter6jU8r1TS9a3HpJIgbxWD+9qNZmBDJJIb7dB+6NXg3/oljJynB48LRgDlU5Y
cfwCAGlTAkEA0CdGyBRFNWaqKpLR1wugN0CPDrh4AkwSOCne64ReJiLDaLohcCjr
ASHF/ShwyQ/lX/fZfo4u/Nld3c5IO9ydmwJBAK024Muq8Nq9kY1wSP9RPNDQ8qmT
ONTPSh8KlpJtJJouNg16JRwgsPC6C20/sfbvLFV9q9YFSLTONb8ermvJg1kCQCsw
WxFck1eXK6uVtxBliyKrtIMbZ1siqY0ZsvUvC9Hh2KW8KP/6nXgop8n1QCGXuMIG
zQvjOICiIUXKbVZuWg0CQEqhaJ1xWZkxd2EuDcPr+JPBJSS/DyOOtdqNQBTpoJLz
fVkHNwwStJIU4x9/CULbRtvqedyTsIYmnfSKWZtoVJ0=
-----END RSA PRIVATE KEY-----
3.1.6. マニフェストファイルの作成
インセプションサーバから最初の BOSH サーバ(firstbosh)をデプロイする際に使用するマニフェ
ストファイル(micro_bosh.yml)を作成する。
・micro_bosh.yml ファイルを準備します
# mkdir -p ~/deployments/firstbosh
# vi ~/deployments/firstbosh/micro_bosh.yml
10
COPYRIGHT FUJITSU LIMITED 2014
16. 以下の内容で作成します。
name: firstbosh
logging:
level: DEBUG
network:
type: dynamic
ip: 172.16.10.227
#インセプションサーバの IP アドレス
resources:
persistent_disk: 20512
cloud_properties:
instance_type: m1.large2
# VM タイプ(コンピュータオファリング)
cloud:
plugin: cloudstack
properties:
cloudstack:
endpoint: http://172.16.10.224:8080/client/api
# Cloudstack の管理サーバのアドレスに、/client/api を付与したものを指定
api_key:
QBbqiA_mGMp23w8lX1zadH_PCruxaqj55iTtQgCQst5Pd5aJ1TrXKErTX3UKIvmx4Ok5WaJZNPwY0o1Y_ORP2
A
# キーペア作成時に指定したもの
secret_access_key:
oN5z4NafX9OrwknE39f9sT_rhSrfdCa1CRuoCjO3iD214wzM4JGLIT2TjwmvBerWLuM9OOdnCEtyVpPy02rOkg
# キーペア作成時に指定したもの
default_key_name: cfmykey
# キーペア作成時に指定したキーペア名
private_key: /root/cfmykey # キーペア作成時に出力内容を保存したキーファイル名
state_timeout: 600
state_timeout_volume: 1200
stemcell_public_visibility: true
default_zone: zone01 # Zone name of your instaption server
11
COPYRIGHT FUJITSU LIMITED 2014
17. # Only for Basic Zone users. Delete these lines on Advanced Zone
default_security_groups: ["default"]
# TCP、UDP での全ての通信が可能なセキュリティグループ名を[""]で括って指定
registry:
endpoint: http://admin:admin@172.16.10.227:25889
# インセプションサーバの IP を指定
user: admin
password: admin
3.1.7. ソースコードの修正
(1) デバイスアタッチ処理関連
デバイスアタッチの不具合対応として、以下のソースコードの修正を行っておく。
ファイル名:~/bosh/bosh_cloudstack_cpi/lib/cloud/cloudstack/cloud.rb
コード最下部の以下の部分を修正
-----------------------------------------
def volume_device_name(device_id)
# assumes device name begins with "dev/sd" and volume_name is numeric
cloud_error("Unkown device id given") if device_id.nil?
suffix = ('a'..'z').to_a[device_id]
cloud_error("too many disks attached") if suffix.nil?
"/dev/sd#{suffix}"
end
-----------------------------------------
↓以下に修正
-----------------------------------------
def volume_device_name(device_id)
# assumes device name begins with "dev/sd" and volume_name is numeric
cloud_error("Unkown device id given") if device_id.nil?
suffix = ('a'..'z').to_a[device_id-1]
cloud_error("too many disks attached") if suffix.nil?
12
COPYRIGHT FUJITSU LIMITED 2014
18. "/dev/vd#{suffix}"
end
-----------------------------------------
(2) stemcell テンプレート VM のイメージサイズ変更
stemcell はクラウドにテンプレート登録する際に rsync されるので、その時点でルートのサイズを決め
られます。
以下のソース修正をすることで、使用するストレージ領域の状況に合わせて stemcell テンプレート
のイメージサイズを調整することが可能です。
■ firstbosh(MicroBOSH)の VM サイズ変更方法
# vi ~/bosh/bosh_cloudstack_cpi/lib/cloud/cloudstack/cloud.rb
100 行目:
# disk_size = stemcell_properties["disk"] || (1024 10)*
disk_size = stemcell_properties["disk"] || (1024 5)*
⇒ bosh micro deploy <path_to_stemcell>
■ cf のデプロイ時 VM(各 job 用)のサイズ変更方法
firstbosh サーバにログイン
該当ソースを検索
# find /var/vcap -name cloud.rb | grep cloudstack
/var/vcap/data/packages/director/5c21b3ba0f4303ff3a767092b55e6cf446a9b42b/..中略../cloudstack/cloud.rb
上記と同様に 100 行目付近を編集
# disk_size = stemcell_properties["disk"] || (1024 10)*
disk_size = stemcell_properties["disk"] || (1024 5)*
sed で編集するとき
# sed -i -e "s/(1024 10)/(1024 5)/g" <cloud.rb* * のパス>
⇒ upload stemcell <path_to_stemcell>
13
COPYRIGHT FUJITSU LIMITED 2014
19. 3.1.8. マイクロボッシュのデプロイ
(1) Proxy サーバの無効化
デプロイ処理のため、proxy の設定を一度無効にしておく。
# unset http_proxy
# unset https_proxy
(2) Micro BOSH によるデプロイ
以下のコマンドを例に、デプロイを実行する。
# cd ~/deployments
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh micro deployment firstbosh
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh micro deploy /tmp/<3.1.3.(3)で作成した stemcell ファイ
ル名>
(3) firstbosh のアドレスの確認
デプロイが正常に行われると、デプロイ実行用の最初のインスタンス(firstbosh)が起動される。
インスタンスの IP アドレスを /root/deployments/firstbosh/bosh_micro_deploy.log ファイルの target への接続
ログから確認する。
(4) ターゲットの指定
上記で確認した IP を使用して、新たに起動されたインスタンスをターゲットとして指定する
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh target https://172.16.10.229:25555
※ ユーザー名/パスワードは admin/admin
※ ログインし直す場合は、
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh login
でログインする
(5) ステータスの確認
上記でデプロイした bosh 環境の状況を以下のコマンドで確認する。
14
COPYRIGHT FUJITSU LIMITED 2014
20. # BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh status
-----------------------------------------
Config
/root/.bosh_config
Director
Name firstbosh
URL https://172.16.10.230:25555
Version 1.2063.0 (release:c8e032de bosh:c8e032de)
User admin
UUID f90c0235-6a22-401a-a0b0-2e619fb8f31a
CPI cloudstack
dns enabled (domain_name: microbosh)
compiled_package_cache disabled
snapshots disabled
Deployment
not set
3.2. BOSH デプロイの準備
3.2.1. Proxy サーバの設定
環境変数へ proxy の再設定を行い、Cloudstack 管理サーバ、インセプションサーバ、
Firstbosh(ターゲット)の各 IP アドレスを no_proxy 環境変数へ追加して設定する
# export no_proxy=172.16.10.224,172.16.10.227,172.16.10.228,172.16.10.230,172.16.10.229,192.168.3.224
3.2.2. 不足領域の追加
次項の bosh upload release を行う際に、Firstbosh の VM で領域不足エラー「Error 500001: Uploading release
archive failed. Insufficient space on BOSH director in /var/vcap/data/tmp/director/release20140910-2239-1mz1yey」が発
生するため、FirstboshVM へログインして対象ディレクトリに追加ディスクをマウントして領域の確
保を行う。
(1) 追加ストレージの準備
CloudstackGUI で追加用のボリューム(disk20gb)を作成し、FirstboshVM にアタッチしておく
15
COPYRIGHT FUJITSU LIMITED 2014
21. (2) FirstboshVM へのログイン
キーファイルを使用して FirstboshVM へのログインを行う。
# ssh -i cfmyke vcap@172.16.10.xxx
password:c1oudc0w
(3.1.5.で作成したキーペアを指定する)
(3)ストレージ領域の作成とマウント
以下のコマンドを例に、FirstboshVM 内からアタッチしたボリュームのマウントを行う。
○マウント実行例
$ ls /dev/vd*
/dev/vda /dev/vda1 /dev/vdb /dev/vdb1 /dev/vdc
$ sudo mkfs -t ext4 /dev/vdc
mke2fs 1.41.11 (14-Mar-2010)
Filesystem label=
OS type: Linux
(略)
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
$ sudo ls /mnt
$ sudo mount /dev/vdc /mnt
$ sudo cp -r /var/vcap/data/tmp/ /mnt*
$ ls /mnt
director lost+found
$ ls tmp/
director
$ sudo umount /mnt
$ sudo mount /dev/vdc /var/vcap/data/tmp
$ ls /var/vcap/data/tmp
director lost+found
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 10G 5.1G 4.5G 54% /
16
COPYRIGHT FUJITSU LIMITED 2014
22. none 480M 168K 480M 1% /dev
none 486M 0 486M 0% /dev/shm
none 486M 56K 486M 1% /var/run
none 486M 0 486M 0% /var/lock
none 486M 0 486M 0% /lib/init/rw
/dev/loop0 127M 7.8M 118M 7% /tmp
/dev/vdb1 30G 621M 28G 3% /var/vcap/store
/dev/vdc 20G 431M 19G 3% /var/vcap/data/tmp
3.2.3. cf-release の設定
(1) cf-release のインストール
以下のコマンドを実行し、cf-release のインストールを行う。
# git clone https://github.com/cloudfoundry/cf-release.git ~/cf-release
# cd ~/cf-release
(2) cf-release のアップロード
/root/cf-release/releases 内で一番新しい cf-xxx.yml ファイルを確認して、以下のコマンドの通りに指定して
アップロードを実行する。
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh upload release releases/cf-183.yml
※時間がかなりかかる
※実行後「Release uploaded」の表示で完了。完了せず終わった場合には再実行する
3.2.4. stemcell のアップロード
以下のコマンドを例に stemcell のアップロードを行う
コマンド:BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh upload stemcell /tmp/<3.1.3.(3)で作成した
stemcell ファイル名>
例)
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh upload stemcell /tmp/bosh-stemcell-3-cloudstack-kvm-ubuntu-
precise.tgz
Verifying stemcell...
File exists and readable OK
17
COPYRIGHT FUJITSU LIMITED 2014
23. Verifying tarball...
Read tarball OK
Manifest exists OK
Stemcell image file OK
Stemcell properties OK
Stemcell info
-------------
Name: bosh-cloudstack-kvm-ubuntu
Version: 3
Checking if stemcell already exists...
No
Uploading stemcell...
bosh-stemcell: 100% |ooooooooooooooooooooooooooooooooooooooooooooooooooo| 444.2MB 205.8KB/s Time:
00:36:49
Director task 3
Started update stemcell
Started update stemcell > Extracting stemcell archive. Done (00:00:22)
Started update stemcell > Verifying stemcell manifest. Done (00:00:00)
Started update stemcell > Checking if this stemcell already exists. Done (00:00:00)
Started update stemcell > Uploading stemcell bosh-cloudstack-kvm-ubuntu/2063 to the cloud. Done (00:05:18)
Started update stemcell > Save stemcell bosh-cloudstack-kvm-ubuntu/2063 (3a514c5b-1c41-471f-95ad-459ac64dfb79).
Done (00:00:01)
Done update stemcell (00:05:41)
Task 3 done
Started 2014-09-11 01:42:33 UTC
Finished 2014-09-11 01:48:14 UTC
Duration 00:05:41
Stemcell uploaded and created.
18
COPYRIGHT FUJITSU LIMITED 2014
24. 25. 4. CloudFounry の展開
4.1. CloudFoundry デプロイの準備
4.1.1. Cloudstack インスタンスの帯域制限の解除
起動されたインスタンスに対して Cloudstack で帯域制限が掛けられているため、全てのインスタン
スの制限を以下のコマンド実行例を参考にあらかじめ解除しておく。
(1) kvm ホストにログイン
(2) インスタンスのネットワークデバイス名を確認
# cat /var/run/libvirt/qemu/i-2-21-VM.xml | grep "<target dev='vnet"
<target dev='vnet9'/>
(3) 帯域制限を確認
# tc -s qdisc | grep vnet9 -A1
qdisc htb 1: dev vnet9 root refcnt 2 r2q 10 default 1 direct_packets_stat 0
Sent 6095754871 bytes 12742204 pkt (dropped 0, overlimits 3292486 requeues 0)
--
qdisc ingress ffff: dev vnet9 parent ffff:fff1 ----------------
Sent 19413493186 bytes 19071637 pkt (dropped 3642733, overlimits 0 requeues 0)
(4) 帯域制限を解除
解除前の制限一覧:
# tc qdisc show
qdisc mq 0: dev eth1 root
qdisc mq 0: dev eth2 root
qdisc mq 0: dev eth3 root
qdisc pfifo_fast 0: dev vnet0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc htb 1: dev vnet7 root refcnt 2 r2q 10 default 1 direct_packets_stat 0
qdisc ingress ffff: dev vnet7 parent ffff:fff1 ----------------
qdisc pfifo_fast 0: dev vnet8 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
20
COPYRIGHT FUJITSU LIMITED 2014
26. qdisc htb 1: dev vnet9 root refcnt 2 r2q 10 default 1 direct_packets_stat 0
qdisc ingress ffff: dev vnet9 parent ffff:fff1 ----------------
qdisc htb 1: dev vnet10 root refcnt 2 r2q 10 default 1 direct_packets_stat 0
qdisc ingress ffff: dev vnet10 parent ffff:fff1 ----------------
解除:
# tc qdisc del dev vnet10 root
# tc qdisc del dev vnet10 ingress
解除後の制限一覧:
# tc qdisc show
qdisc mq 0: dev eth1 root
qdisc mq 0: dev eth2 root
qdisc mq 0: dev eth3 root
qdisc pfifo_fast 0: dev vnet0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet3 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet4 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet5 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet6 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc htb 1: dev vnet7 root refcnt 2 r2q 10 default 1 direct_packets_stat 0
qdisc ingress ffff: dev vnet7 parent ffff:fff1 ----------------
qdisc pfifo_fast 0: dev vnet8 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev vnet9 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc htb 1: dev vnet10 root refcnt 2 r2q 10 default 1 direct_packets_stat 0
qdisc ingress ffff: dev vnet10 parent ffff:fff1 ----------------
(5) 解除を確認
# tc -s qdisc | grep vnet9 -A1
qdisc pfifo_fast 0: dev vnet9 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 66374090 bytes 982435 pkt (dropped 0, overlimits 0 requeues 0)
21
COPYRIGHT FUJITSU LIMITED 2014
27. 4.1.2. デプロイ用マニフェストの作成
以下の内容でデプロイ用のマニフェストファイル(cf.yml)を作成する。
※以下の内容はデフォルト値。追加の修正内容は以降に記載
name: cf
director_uuid: 884aab78-3b73-494c-aa6f-b7fe9b2d7e1b # UUID shown by the bosh status command ●●確認して記
述●●
releases:
- name: cf
version: 147 # Verison number of the uploded release ●●現環境で使用しているのは 183 ●●
networks:
- name: default
type: dynamic
cloud_properties:
# Only for Basic Zone users
security_groups:
## - bosh # Securiy group which opens all TCP and UDP ports
- default # default● で全 port 開けているのでそのまま指定●
## # Only for Advanced Zone users
## network_name: <network_name> # subnetwork ●無効化●
# Only for Advanced Zone users
# Network with floating IP addresses
- name: floating
type: vip
cloud_properties: {}
compilation:
22
COPYRIGHT FUJITSU LIMITED 2014
28. workers: 6
network: default
reuse_compilation_vms: true
cloud_properties:
instance_type: m1.medium # VM type
ephemeral_volume: Datadisk 40GB # Data disk offering name of additonal disk
update:
canaries: 1
canary_watch_time: 30000-60000
update_watch_time: 30000-60000
max_in_flight: 4
resource_pools:
- name: small
network: default
size: 8
stemcell:
name: bosh-cloudstack-kvm-ubuntu
version: latest
cloud_properties:
instance_type: m1.small # VM type
ephemeral_volume: Datadisk 40GB # Data disk offering name of additonal disk
- name: large
network: default
size: 1
stemcell:
name: bosh-cloudstack-kvm-ubuntu
version: latest
cloud_properties:
instance_type: m1.large # VM type
ephemeral_volume: Datadisk 40GB # Data disk offering name of additional disk
jobs:
- name: nats
release: cf
template:
23
COPYRIGHT FUJITSU LIMITED 2014
29. - nats
instances: 1
resource_pool: small
networks:
- name: default
default: [dns, gateway]
- name: syslog_aggregator
release: cf
template:
- syslog_aggregator
instances: 1
resource_pool: small
persistent_disk: 65536
networks:
- name: default
default: [dns, gateway]
- name: postgres
release: cf
template:
- postgres
instances: 1
resource_pool: small
persistent_disk: 65536
networks:
- name: default
default: [dns, gateway]
properties:
db: databases
- name: nfs_server
release: cf
template:
- debian_nfs_server
instances: 1
resource_pool: small
persistent_disk: 65536
24
COPYRIGHT FUJITSU LIMITED 2014
30. networks:
- name: default
default: [dns, gateway]
- name: uaa
release: cf
template:
- uaa
instances: 1
resource_pool: small
networks:
- name: default
default: [dns, gateway]
- name: cloud_controller
release: cf
template:
- cloud_controller_ng
instances: 1
resource_pool: small
networks:
- name: default
default: [dns, gateway]
properties:
ccdb: ccdb
- name: router
release: cf
template:
- gorouter
instances: 1
resource_pool: small
networks:
- name: default
default: [dns, gateway]
# Only for Advanced zone users
# You can set floating addresses to jobs
25
COPYRIGHT FUJITSU LIMITED 2014
31. # Acquire Public IP addresses on your Web UI before deploying
# (Don't remove default network above even if floating is added)` ` ` `
- name: floating
static_ips:
- <IP address for Router>
- name: health_manager
release: cf
template:
- health_manager_next
instances: 1
resource_pool: small
networks:
- name: default
default: [dns, gateway]
- name: dea
release: cf
template: dea_next
instances: 1
resource_pool: large
networks:
- name: default
default: [dns, gateway]
properties:
domain: your.domain.name # replace these values with your domain name
system_domain: your.domain.name
system_domain_organization: your.domain.name
app_domains:
- your.domain.name
networks:
apps: default
management: default
nats:
26
COPYRIGHT FUJITSU LIMITED 2014
32. address: 0.nats.default.cf.microbosh
port: 4222
user: nats
password: c1oudc0w
authorization_timeout: 5
router:
port: 8081
status:
port: 8080
user: gorouter
password: c1oudcow
dea: &dea
memory_mb: 2048
disk_mb: 20000
directory_server_protocol: http
dea_next: dea*
syslog_aggregator:
address: 0.syslog-aggregator.default.cf.microbosh
port: 54321
nfs_server:
address: 0.nfs-server.default.cf.microbosh
network: " .cf.microbosh"*
idmapd_domain: your.domain.name
debian_nfs_server:
no_root_squash: true
databases: &databases
db_scheme: postgres
address: 0.postgres.default.cf.microbosh
port: 5524
roles:
- tag: admin
27
COPYRIGHT FUJITSU LIMITED 2014
33. name: ccadmin
password: c1oudc0w
- tag: admin
name: uaaadmin
password: c1oudc0w
databases:
- tag: cc
name: ccdb
citext: true
- tag: uaa
name: uaadb
citext: true
ccdb: &ccdb
db_scheme: postgres
address: 0.postgres.default.cf.microbosh
port: 5524
roles:
- tag: admin
name: ccadmin
password: c1oudc0w
databases:
- tag: cc
name: ccdb
citext: true
ccdb_ng: ccdb*
uaadb:
db_scheme: postgresql
address: 0.postgres.default.cf.microbosh
port: 5524
roles:
- tag: admin
name: uaaadmin
password: c1oudc0w
databases:
- tag: uaa
28
COPYRIGHT FUJITSU LIMITED 2014
34. name: uaadb
citext: true
cc_api_version: v2
cc: &cc
logging_level: debug
external_host: api
srv_api_uri: http://api.your.domain.name
cc_partition: default
db_encryption_key: c1oudc0w
bootstrap_admin_email: admin@your.domain.name
bulk_api_password: c1oudc0w
uaa_resource_id: cloud_controller
staging_upload_user: uploaduser
staging_upload_password: c1oudc0w
resource_pool:
resource_directory_key: cc-resources
# Local provider when using NFS
fog_connection:
provider: Local
packages:
app_package_directory_key: cc-packages
droplets:
droplet_directory_key: cc-droplets
default_quota_definition: runaway
ccng: cc*
login:
enabled: false
uaa:
url: http://uaa.your.domain.name
spring_profiles: postgresql
no_ssl: true
catalina_opts: -Xmx768m -XX:MaxPermSize=256m
resource_id: account_manager
29
COPYRIGHT FUJITSU LIMITED 2014
35. jwt:
signing_key: |
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDHFr+KICms+tuT1OXJwhCUmR2dKVy7psa8xzElSyzqx7oJyfJ1
JZyOzToj9T5SfTIq396agbHJWVfYphNahvZ/7uMXqHxf+ZH9BL1gk9Y6kCnbM5R6
0gfwjyW1/dQPjOzn9N394zd2FJoFHwdq9Qs0wBugspULZVNRxq7veq/fzwIDAQAB
AoGBAJ8dRTQFhIllbHx4GLbpTQsWXJ6w4hZvskJKCLM/o8R4n+0W45pQ1xEiYKdA
Z/DRcnjltylRImBD8XuLL8iYOQSZXNMb1h3g5/UGbUXLmCgQLOUUlnYt34QOQm+0
KvUqfMSFBbKMsYBAoQmNdTHBaz3dZa8ON9hh/f5TT8u0OWNRAkEA5opzsIXv+52J
duc1VGyX3SwlxiE2dStW8wZqGiuLH142n6MKnkLU4ctNLiclw6BZePXFZYIK+AkE
xQ+k16je5QJBAN0TIKMPWIbbHVr5rkdUqOyezlFFWYOwnMmw/BKa1d3zp54VP/P8
+5aQ2d4sMoKEOfdWH7UqMe3FszfYFvSu5KMCQFMYeFaaEEP7Jn8rGzfQ5HQd44ek
lQJqmq6CE2BXbY/i34FuvPcKU70HEEygY6Y9d8J3o6zQ0K9SYNu+pcXt4lkCQA3h
jJQQe5uEGJTExqed7jllQ0khFJzLMx0K6tj0NeeIzAaGCQz13oo2sCdeGRHO4aDh
HH6Qlq/6UOV5wP8+GAcCQFgRCcB+hrje8hfEEefHcFpyKH+5g1Eu1k0mLrxK2zd+
4SlotYRHgPCEubokb2S1zfZDWIXW3HmggnGgM949TlY=
-----END RSA PRIVATE KEY-----
verification_key: |
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHFr+KICms+tuT1OXJwhCUmR2d
KVy7psa8xzElSyzqx7oJyfJ1JZyOzToj9T5SfTIq396agbHJWVfYphNahvZ/7uMX
qHxf+ZH9BL1gk9Y6kCnbM5R60gfwjyW1/dQPjOzn9N394zd2FJoFHwdq9Qs0wBug
spULZVNRxq7veq/fzwIDAQAB
-----END PUBLIC KEY-----
cc:
client_secret: c1oudc0w
admin:
client_secret: c1oudc0w
batch:
username: batchuser
password: c1oudc0w
client:
autoapprove:
- cf
clients:
cf:
override: true
authorized-grant-types: password,implicit,refresh_token
30
COPYRIGHT FUJITSU LIMITED 2014
36. authorities: uaa.none
scope: cloud_controller.read,cloud_controller.write,openid,password.write,cloud_controller.admin,scim.read,scim.write
access-token-validity: 7200
refresh-token-validity: 1209600
scim:
users:
- admin|c1oudc0w|scim.write,scim.read,openid,cloud_controller.admin
- services|c1oudc0w|scim.write,scim.read,openid,cloud_controller.admin
31
COPYRIGHT FUJITSU LIMITED 2014
37. 38. 5. DB サービス(MySQL サービス)の展開
以下に DB サービスとして MySQL サービス(cf-mysql)のデプロイ実行手順を示す。
5.1. ソースの取得
# git clone https://github.com/cloudfoundry/cf-mysql-release
# ./update
# git checkout v14
# git submodule update --recursive
5.2. Upload Release の実行
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh upload release releases/cf-mysql-14.yml
※実行前に、Proxy サーバの設定(http_proxy 環境変数の設定)が必要
※インセプションサーバのルートディスクに、空き容量が 500MB 以上必要
5.3. マニフェストの作成
MySQL サービスのデプロイ用にマニフェストファイルを作成する。
# vi ~/cf-mysql-release/cf-mysql-cloudstack.yml
nats※ の ip は bosh vms で調べて記入
lifecycle: errand※ の job はとりあえずコメントアウト
※デプロイ前は VM の ip が分からないため mysql/0,1 haproxy の ip 設定部分はコメントアウトしてお
く
○ cf-mysql-cloudstack.yml ファイルの内容
name: mysql
networks:
#dynamic_ips:
# - 172.16.10.244
# - 172.16.10.245
properties:
#cluster_ips:
# - 172.16.10.244
# - 172.16.10.245
#haproxy_ips:
33
COPYRIGHT FUJITSU LIMITED 2014
39. # - 172.16.10.243
name: haproxy
properties:
#mysql_ips:
#- 172.16.10.244
#- 172.16.10.245
name: cf-mysql-broker
properties:
mysql_node:
#host: 172.16.10.243 <- haproxy の ip
5.4. MySQL サービスのデプロイ
(1) 仮デプロイの実行
以下のコマンドを実行し、MySQL サービスの仮デプロイを行う。
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh deployment cf-mysql-cloudstack.yml
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh deploy
(2) IP アドレスの確認
上記(1)の実行で VM が作成されたのち、エラー「cluster_ips が設定されていない」で止まるため、新し
い VM の IP アドレスを以下のコマンドで確認する。
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh vms
(3) 再デプロイ
先ほどのコメントアウト部分に正しい IP アドレスを書き込んで再度デプロイを行う。
# vi ~/cf-mysql-release/cf-mysql-cloudstack.yml
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh deploy
デプロイ後 VM ディスク使用量:
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh vms cf-cloudstack-mysql --vitals
+-------------------+---------+---------------+---------------+..+------------+------------+------------+
| Job/index | State | Resource Pool | IPs |..| System | Ephemeral | Persistent |
34
COPYRIGHT FUJITSU LIMITED 2014
40. | | | | |..| Disk Usage | Disk Usage | Disk Usage |
+-------------------+---------+---------------+---------------+..+------------+------------+------------+
| cf-mysql-broker/0 | running | small | 172.16.10.231 |..| 26% | 81% | n/a |
| haproxy/0 | running | small | 172.16.10.243 |..| 26% | 5% | n/a |
| mysql/0 | running | large | 172.16.10.245 |..| 26% | 13% | 28% |
| mysql/1 | running | large | 172.16.10.244 |..| 26% | 13% | 28% |
+-------------------+---------+---------------+---------------+..+------------+------------+------------+
# BUNDLE_GEMFILE=~/bosh/Gemfile bundle exec bosh vms cf-cloudstack-mysql --vitals
+-------------------+---------+---------------+---------------+..+------------+------------+------------+
| Job/index | State | Resource Pool | IPs |..| System | Ephemeral | Persistent |
| | | | |..| Disk Usage | Disk Usage | Disk Usage |
+-------------------+---------+---------------+---------------+..+------------+------------+------------+
| cf-mysql-broker/0 | running | small | 172.16.10.231 |..| 26% | 81% | n/a |
| haproxy/0 | running | small | 172.16.10.243 |..| 26% | 5% | n/a |
| mysql/0 | running | large | 172.16.10.245 |..| 26% | 13% | 28% |
| mysql/1 | running | large | 172.16.10.244 |..| 26% | 13% | 28% |
+-------------------+---------+---------------+---------------+..+------------+------------+------------+
5.5. cf サービスの設定
参照している DNS サーバに mysql-broker の IP アドレスを「p-mysql.ssl.osscloud」で登録し、以下のコマンド
を実行して cf サービスの設定を行う。
# cf create-service-broker p-mysql admin password http://p-mysql.ssl.osscloud
# cf enable-service-access p-mysql
確認
# cf service-access
35
COPYRIGHT FUJITSU LIMITED 2014