Presentation is loading. Please wait.

Presentation is loading. Please wait.

 Bosh CPI Introduction 邢 舟 IBM Open Source and Open Standard 2014.10.

Similar presentations


Presentation on theme: " Bosh CPI Introduction 邢 舟 IBM Open Source and Open Standard 2014.10."— Presentation transcript:

1  Bosh CPI Introduction 邢 舟 xingzhou@cn.ibm.comxingzhou@cn.ibm.com IBM Open Source and Open Standard 2014.10

2 Agenda  Bosh  Bosh CPI  Bosh External CPI  External CPI Interface  Bosh Warden External CPI  Bosh Micro CLI  SoftLayer External CPI

3 Bosh 简介( 1/3 )  Bosh  BOSH 用于在各种云基础设施平台上部署分布式软件  A CloudFoundry tool, A release tool  Development  Product  Bosh: Bosh-lite Micro-Bosh Full-Bosh  Stemcells  CF-Releases

4 Bosh 简介 (2/3) 创建 Release 上传 Release/Stemcell 构建/部署 Release 编译 Package/ 运行 Jobs

5 Bosh 简介( 3/3 )  Bosh Dev  https://github.com/cloudfoundry/b osh https://github.com/cloudfoundry/b osh  https://github.com/cloudfoundry/b osh-agent https://github.com/cloudfoundry/b osh-agent  Ruby & Shell & Golang  Testings:  Unit  Integration  BAT  CPI Tests Director CLI CPI Stemcell

6 Bosh CPI(1/5)  CPI == Cloud Provider Interface  一组 Bosh 操作 IaaS 的 API  vs Bosh Agent  Bosh 通过 CPI 的帮助完成:  软件包编译  软件包部署 Bosh-Micro Deployment Manifest:

7 Bosh CPI(2/5) Warden

8 Bosh CPI(3/5)  Bosh CPI Projects  github.com/cloudfoundry/bosh/bosh- cpi  CPI Interfaces  CPI factory  Built-in CPI and Internal CPI  github.com/cloudfoundry/bosh/bosh- xxx-cpi

9 Bosh CPI(4/5)

10 Bosh CPI ( 5/5 ) Bosh Built-in CPI 仅少数官方支持 CPI 采用程序内直接调用方式 与 BOSH 一起部署 1 个 BOSH Director 对应一个 CPI 实例 Bosh External CPI Bosh REST CPI 基于 JSON 的标准接口 跨程序调用 使用独立的 CPI Release 1 个 BOSH Director 对应一个 CPI 实例 基于 JSON 格式和 REST 风格的 标准接口 跨服务器调用 使用独立的 CPI Release 1 个 BOSH Director 对应多个 CPI 实例

11 Bosh External CPI(1/6)  Deployment Manifest Config   CPI program exec path  程序调用方式  Open3.capture3  stdin stdout stderr  JSON Format  程序接口  标准化 CPI 接口  标准化错误类型

12 Bosh External CPI(2/6)

13 Bosh External CPI(3/6) JSON 传入参数 { 'method' =>, 'arguments' =>, 'context' => { 'director_uuid' => } JSON 返回值 { 'result' =>, 'error' => enum(nil, { 'type' =>, 'message' =>, 'ok_to_retry' => } ), 'log' => }

14 Bosh External CPI(4/6)  错误类型:  Bosh::Clouds::CpiError  Bosh::Clouds::NotSupported  Bosh::Clouds::NotImplemented  Bosh::Clouds::CloudError  Bosh::Clouds::VMNotFound  Bosh::Clouds::NoDiskSpace  Bosh::Clouds::DiskNotAttached  Bosh::Clouds::DiskNotFound  Bosh::Clouds::VMCreationFailed

15 Bosh External CPI(5/6)  Bosh Warden CPI:  External CPI 样例  Golang  https://github.com/cppforl ife/bosh-warden-cpi https://github.com/cppforl ife/bosh-warden-cpi

16 Bosh External CPI(6/6)  Bosh-Micro-CLI  完全支持 External CPI 接口的 Bosh CLI  Golang  目前正在积极开发中  Deployment  Deploy  Step1: Compile CPI Release  Step2: Deploy CPI  Step3: Deploy micro bosh based on the CPI  https://github.com/cloudfoundry/bosh-micro-cli https://github.com/cloudfoundry/bosh-micro-cli

17 SoftLayer CPI  Bosh SoftLayer CPI 工作 :  Ruby CPI  Golang CPI  完全支持 External CPI  目前在开发项目:  Bosh-SoftLayer-CPI  SoftLayer-Go

18 References  Bosh 文档  http://docs.cloudfoundry.org/bosh/ http://docs.cloudfoundry.org/bosh/  Bosh Repo  https://github.com/cloudfoundry/bosh https://github.com/cloudfoundry/bosh  Bosh Micro CLI  https://github.com/cloudfoundry/bosh-micro-cli https://github.com/cloudfoundry/bosh-micro-cli  Bosh Warden External CPI  https://github.com/cppforlife/bosh-warden-cpi https://github.com/cppforlife/bosh-warden-cpi

19 谢 xingzhou@cn.ibm.com


Download ppt " Bosh CPI Introduction 邢 舟 IBM Open Source and Open Standard 2014.10."

Similar presentations


Ads by Google