Bosh安裝Concourse持續部署工具

如何使用Bosh部署應用程序(一)

更新時間:2018年04月23日

安裝bosh環境

下載Bosh二進制安裝程序

點擊下載

安裝virtulbox

wget https://download.virtualbox.org/virtualbox/5.2.10/virtualbox-5.2_5.2.10-122088~Ubuntu~trusty_amd64.deb
dpkg -i virtualbox-5.2_5.2.10-122088~Ubuntu~trusty_amd64.deb

安裝一些依賴程序包

sudo 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

推薦使用bosh-deployment來引導Director

$ git clone https://github.com/cloudfoundry/bosh-deployment ~/workspace/bosh-deployment
$ mkdir -p ~/deployments/vbox
$ cd ~/deployments/vbox
$ 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/jumpbox-user.yml \
  --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

配置環境

$ 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`

check env

$ bosh -e vbox env
Using environment '192.168.50.6' as '?'

Name: ...
User: admin

Succeeded

add route

sudo route add -net 10.244.0.0/16 gw  192.168.50.6

進入軟件的部署環節

部署資源需求配置

  • 不管部署什麼應用,前提必須要有cloud config,在部署應用或者服務時,可以根據具體的場景更新cloud config中虛擬機規格的配置更新
  • 一但cloud config被更新,之前的將被視爲過期,Director會在下次進行bosh deploy時應用這些配置
  • 每個應用gitrepo中一般都會定義cloud config的配置,我們可以通過一下方式更新
$ bosh -e vbox update-cloud-config /PATH/TO/cloud-config.yml 

上傳基礎操作系統鏡像Stemcell

  • 部署應用就要提前準備好應用要運行的操作系統,window/centos/ubuntu等,一般會在部署的應用文檔中有介紹
  • 建議提前下載好需要的Stemcell,網絡傳輸可能會導致失敗,另外版本的更新非常快,要注意自己使用的版本

這是一個栗子:

bosh -e vbox upload-stemcell https://bosh.io/d/stemcells/bosh-warden-boshlite-ubuntu-trusty-go_agent?v=3468.17 \
  --sha1 1dad6d85d6e132810439daba7ca05694cec208ab

驗證性測試

git clone https://github.com/concourse/concourse-bosh-deployment.git
bosh -e $BOSH_ENVIRONMENT deploy -d concourse concourse.yml \
  -l ../versions.yml \
  --vars-store cluster-creds.yml \
  -o operations/static-web.yml \
  -o operations/no-auth.yml \
  --var web_ip=10.244.15.2 \
  --var external_url=http://10.244.15.2:8080 \
  --var network_name=concourse \
  --var web_vm_type=concourse \
  --var db_vm_type=concourse \
  --var db_persistent_disk_type=db \
  --var worker_vm_type=concourse \
  --var deployment_name=concourse

fly -t ci login -c http://10.244.15.2:8080

concourse

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章