Download presentation
Presentation is loading. Please wait.
Published byRobyn Sutton Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.