IK.AM

@making's tech note


Cloud FoundryのコンテナランタイムをOCI標準のrunCに変更する

🗃 {Dev/PaaS/CloudFoundry}
🏷 BOSH 🏷 Diego 🏷 Docker 🏷 Cloud Foundry 🏷 runC 
🗓 Updated at 2016-09-23T15:35:45Z  🗓 Created at 2016-09-23T15:34:39Z   🌎 English Page

AWSにCloud Foundryをインストールしました。Cloud FoundryはGardenによってコンテナが管理されますが、 GardenはプラガブルなAPIでバックエンドを変更することができます。

  • Garden Linux
  • Garden Windows
  • Garden runC

の3つの実装があります。今は前世代Cloud Foundryで使用されている独自実装なWarden由来のGarden Linuxがデフォルトで使われていますが、 OCI(Open Container Initiative)で策定された標準のrunC(Dockerで使われているものと同じもの)を代わりに使うこともできます。(ちなみにGarden Windowsを使うとWindowsアプリを乗せられる)

変更は簡単で、Cloud Foundryのマニフェストのgarden-linuxgarden-runcに置換するだけ。

releases:
- {name: cf, version: latest}
- {name: diego, version: latest}
- {name: etcd, version: latest}
- {name: garden-runc, version: latest} # <- garden-linuxから変更
- {name: cflinuxfs2-rootfs , version: latest}

- name: diego_cell_z1
  instances: 1
  resource_pool: diego_cell_z1
  templates:
  - name: consul_agent
    release: cf
  - name: rep
    release: diego
  - name: garden
    release: garden-runc # <- garden-linuxから変更
  - name: cflinuxfs2-rootfs-setup
    release: cflinuxfs2-rootfs
  - name: metron_agent
    release: cf

の2箇所を変更して、

bosh upload release https://bosh.io/d/github.com/cloudfoundry/garden-runc-release?v=0.8.0
bosh -n deploy

でOK。

image

Cellが3つあればCanary Deployできるはず。コンテナ上のアプリは特に問題なく動いています。

多分近いうちにこっちがデフォルトになると思います。Pivotal Web Servicesでは既にProductionでrunCが使われています

1年前の記事ですが、runCにするメリットについてはこちら


✒️️ Edit  ⏰ History  🗑 Delete