前提環境
Ubuntu 14.04 64bitMemory: 8G 以上推奨
CPU:4コア以上推奨
はじめに
- Ubuntu14.04をインストールする
- Git、Curlをインストール
- VirtualBoxをインストール
- Cloud FoundryのCLIをインストール
- OS再起動
BOSHのインストール
Director動作要件
マシンに8GB以上のRAMと100GB以上の空きディスク容量手順
BOSH CLIのインストール
http://bosh.io/docs/cli-v2-install/- Download the binary (this example is using Linux):
- Make the bosh binary executable:
- Move the binary to your PATH:
- Verify that bosh -v shows the installed version and a Succeeded message:
curl -Lo ./bosh https://s3.amazonaws.com/bosh-cli-artifacts/bosh-cli-3.0.1-linux-amd64
chmod +x ./bosh
sudo mv ./bosh /usr/local/bin/bosh
$ bosh -v
version 3.0.1-712bfd7-2018-03-13T23:26:42Z
Succeeded
</pre>
<li>Ubuntu 14.04用の追加インストール</li>
<pre>sudo -E apt-get install -y build-essential zlibc zlib1g-dev ruby ruby-dev openssl libxslt-dev libxml2-dev libssl-dev libreadline6 libreadline6-dev libyaml-dev libsqlite3-dev sqlite3
</pre>
ホストOS上のVirtualBox上に構築
http://bosh.io/docs/bosh-lite/BOSH Lite v2は、VirtualBoxで動作するDirector VM(通常はローカル)です。 CLI v2を介して管理されます。内部的にCPIはコンテナを使用してVMをエミュレートします。
IaaSを構成するための時間とリソースを費やさずに一般的なBOSHの探索
リリース(BOSH自体を含む)の開発
リリースをローカルまたはCIでテストする
VirtualBoxをゲストOS内にインストール
https://www.virtualbox.org/wiki/Downloads
から入手します。
既知の作業バージョン:
$ VBoxManage --version
5.1...
注意:VirtualBoxネットワークで問題が発生した場合は、問題202で示唆されているように、Oracle VM VirtualBox Extension Packをインストールしてください。
また、以前のバージョンでネットワーク接続のバグがあったため、VirtualBox 5.1+を使用していることを確認してください。
- Director VMのインストール
$ git clone https://github.com/cloudfoundry/bosh-deployment ~/workspace/bosh-deployment
$ mkdir -p ~/deployments/vbox
$ cd ~/deployments/vbox
Below command will try automatically create/enable Host-only network 192.168.50.0/24 (details) and NAT network 'NatNetwork' with DHCP enabled (details).
$ bosh create-env ~/workspace/bosh-deployment/bosh.yml \
--state ./state.json \
-o ~/workspace/bosh-deployment/virtualbox/cpi.yml \
-o ~/workspace/bosh-deployment/virtualbox/outbound-network.yml \
-o ~/workspace/bosh-deployment/bosh-lite.yml \
-o ~/workspace/bosh-deployment/bosh-lite-runc.yml \
-o ~/workspace/bosh-deployment/uaa.yml \
-o ~/workspace/bosh-deployment/credhub.yml \
-o ~/workspace/bosh-deployment/jumpbox-user.yml \
-o ~/workspace/bosh-deployment/misc/proxy.yml -v http_proxy=${http_proxy} -v https_proxy=${https_proxy} -v no_proxy=${no_proxy} \
--vars-store ./creds.yml \
-v director_name=bosh-lite \
-v internal_ip=192.168.50.6 \
-v internal_gw=192.168.50.1 \
-v internal_cidr=192.168.50.0/24 \
-v outbound_network_name=NatNetwork
<li>最後に、入力する量を減らすためにbosh環境エイリアスといくつかの環境変数を作成しています。また、新しいシェルを作成する場合は、これらの変数を再作成する必要があります。</li>
sudo route add -net 10.244.0.0/16 gw 192.168.50.6
$ bosh alias-env vbox -e 192.168.50.6 --ca-cert <(bosh int ./creds.yml --path /director_ssl/ca)
$ export BOSH_CLIENT=admin
$ export BOSH_CLIENT_SECRET=`bosh int ./creds.yml --path /admin_password`
<li>動作することを確認する</li>
$ bosh -e vbox env
Using environment '192.168.50.6' as '?'
Name: ...
User: admin
Succeeded
Optionally, set up a local route for bosh ssh commands or accessing VMs directly
$ sudo route add -net 10.244.0.0/16 192.168.50.6 # Mac OS X
$ sudo ip route add 10.244.0.0/16 via 192.168.50.6 # Linux (using iproute2 suite)
$ sudo route add -net 10.244.0.0/16 gw 192.168.50.6 # Linux (using DEPRECATED route command)
$ route add 10.244.0.0/16 192.168.50.6 # Windows
参考
* Installing Cloud Foundry Bosh on VirtualBox. https://www.youtube.com/watch?v=Kv0iKE2JaJ4- BOSH Director構築時に、作ったVMがProxy設定を見るようにするもの
https://lists.cloudfoundry.org/g/cf-bosh/topic/6331946?p=Created,,,20,2,0,0::,,,0,0,0,6331946
Cloud Foundryのインストール
Cloud Foundryの構築
bosh -e 192.168.50.6 --ca-cert <(bosh int ~/deployments/vbox/creds.yml --path /director_ssl/ca) alias-env vbox
export BOSH_CA_CERT=$(bosh int ~/deployments/vbox/creds.yml --path /director_ssl/ca)
export BOSH_CLIENT=admin
export BOSH_CLIENT_SECRET=$(bosh int ~/deployments/vbox/creds.yml --path /admin_password)
export BOSH_ENVIRONMENT=vbox
Cloud Foundryのデプロイ
Cloud Foundryの導入にはcf-deploymentを使用します。リポジトリはまだ初期段階ですが、簡単な手順でDiegoを使用してCloud Foundryを簡単に導入することができます。 cf-releaseとdiego-releaseの後継となるようです。最初にリポジトリを複製しています
git clone https://github.com/cloudfoundry/cf-deployment ~/workspace/cf-deployment
cd ~/workspace/cf-deployment
bosh interpolateを使用して、stemcellのバージョンを抽出してアップロードすることができます
export STEMCELL_VERSION=$(bosh int ~/workspace/cf-deployment/cf-deployment.yml --path /stemcells/alias=default/version)
bosh -e vbox upload-stemcell https://bosh.io/d/stemcells/bosh-warden-boshlite-ubuntu-trusty-go_agent?v=$STEMCELL_VERSION
より新しいクラウド設定モデルを使用しています。これにより、IaaS固有の設定を展開マニフェストから分離することができます。
bosh -e vbox update-cloud-config ~/workspace/cf-deployment/iaas-support/bosh-lite/cloud-config.yml
最後のステップは、クラウドファウンドリリリースを作成して展開することです。これは、主にインターネット接続に応じて、時間がかかることがあります。
bosh -e vbox -d cf deploy ~/workspace/cf-deployment/cf-deployment.yml -o ~/workspace/cf-deployment/operations/bosh-lite.yml --vars-store ~/deployments/vbox/deployment-vars.yml -v system_domain=bosh-lite.com
デプロイメントを高速化するには、次の操作ファイルを追加して、プリコンパイルされたリリースを使用できます。
(■今回は使用しません■)
-o ~/workspace/cf-deployment/operations/use-compiled-releases.yml
何も失敗しなければ、Cloud Foundryを正常に導入しました! Yey!
最後のステップは、ホストからCloud Foundry Environmentにアクセスできるようにローカルルートを作成することです。
sudo s route add -net 10.244.0.0/16 gw 192.168.50.6
Cloud Foundryのクライアントのインストール
Cloud Foundryを操作するためのクライアント(CLI)をインストールします。 https://github.com/cloudfoundry/cli#downloads よりダウンロードして取り込みます。 これで、以降で、cfコマンドが使用可能になります。Cloud Foundryの設定
まず、クラウドファウンドリにログインする必要があります。 デフォルトのユーザ名はadminで、パスワードはdeployment-vars.ymlにあります。 これは前の手順でbosh deployによって生成されたものです。 次のコマンドを実行すると、ログインしてファイルからパスワードを読み取ります。 ログインするときのドメイン名も、bosh deploy時に構築したドメイン名になります。cf login -a https://api.bosh-lite.com --skip-ssl-validation -u admin -p $(bosh interpolate ~/deployments/vbox/deployment-vars.yml --path /cf_admin_password)
cf create-org cloudfoundry
cf target -o cloudfoundry
cf create-space development
cf target -o cloudfoundry -s development
最初のアプリを展開する準備が整いました
Cloud Foundryへのサンプルアプリのデプロイ
テストに使用できる非常に単純なPythonアプリケーションを作成しました。
cf push時に必要なPythonのバージョンが無い場合は、cf-helloworld内のファイルを更新します。
git clone https://github.com/vchrisb/cf-helloworld ~/workspace/cf-helloworld
cd ~/workspace/cf-helloworld
cf push
これで、 http://cf-helloworld.bosh-lite.com を介してローカルにアプリにアクセスできるようになります。
!{width:500px}cfサンプルアプリ動作確認.jpg!
Dockerサポートを試すには、最初にdockerサポートを有効にして、dockerイメージをプッシュする必要があります。
cf enable-feature-flag diego_docker
cf push test-app -o cloudfoundry/test-app
Cloud Foundry環境のサスペンド
BOSH Director VMを再起動しないでください。 状態を保存できるようにするには、次のコマンドを使用してBOHSディレクターを一時停止してから再開することができます。 決して、VirtualBoxから直接操作はしないでください。(OS再インストールになります)vboxmanage controlvm $(bosh int ~/deployments/vbox/state.json --path /current_vm_cid) savestate
vboxmanage startvm $(bosh int ~/deployments/vbox/state.json --path /current_vm_cid) --type headless