Cloud Foundry 是开源的 PAAS 实现, Pivotal 基于CF 做了一些扩展,发布了自己的商业化版本 PCF。 并且将 PCF 部署到AWS 上做为一个参考实现,这就是 PWS。
目前 PCF 支持的 IAAS 包括 AWS, AZURE, GCP, vSphere , OpenStack。
如果仅仅是尝试如何在PCF平台上部署应用,可以选择两种方式,一种是直接部署到PWS,另一种是直接部署一个PCF--如果没有安装PCF的基础设施,那可以选择PCF 的Dev 版本,它可以直接安装在PC上。
直接部署应用到PWS上,大致需要这几个步骤:注册PWS账户,安装cf 命令行,登录到pws, 选择一个可以部署的应用,部署到PWS。
- 注册PSW账户
- 安装 cf 命令行,安装完后,验证命令可用: cf help
- 登录到 pws :
cf login -a https://api.run.pivotal.io
- 选择一个可部署的应用,可以直接到 https://github.com/cloudfoundry-samples clone 一个应用,可以看到有多个不同开发语言实现的应用。
- 部署, 先 cd 到应用目录下,然后 cf push. 在启动完后,可以在输出的最后几行看到给应用分配的URL,通过浏览器可以访问了。
requested state: started instances: 1/1 usage: 1G x 1 instances urls: spring-music-metronomical-remex.cfapps.io last uploaded: Fri Dec 2 02:40:16 UTC 2016 stack: cflinuxfs
- 查看实时日志: cf logs spring-music , 这里应用的名字是 spring-music
在云中,所有的资源都是服务,DB 也是一种服务。 接下来看一下如何切换数据库:
- 列出可用的配置计划: cf marketplace -s elephantsql , 这里marketplace 提供各种资源,-s 是服务, elephantsql 是服务计划名称。服务计划就是创建服务的配置或者模板。 这个命令列出所有可用的 elephantsql 的各种配置,不同配置的容量或性能不同。 其中有一个计划是 turtle .
- 按计划创建出服务: cf create-service elephantsql turtle mydb , 这里 mydb 是创建的服务名字。
- 将应用与服务绑定:cf bind-service spring-music mydb
- 重启应用:cf restart spring-music
- 查看服务绑定: cf services
伸缩硬件资源
- 将应用实例调整为2个, 内存和存储空间调整为512M : cf scale spring-music -i 2 -m 512M -k 512M
使用的命令有: login, push, app; logs; markestplace, create-service, bind-services, services; scale
特点总结:
- 应用部署简单,只需一个命令。显然pcf 与应用间是有契约 的;
- 性能伸缩性,通过水平扩容,自由调整实例的个数。而且不用关心负载均衡和路由和会话维持问题。这也是为啥要选择 PAAS而不是 IAAS的重要原因。
- 所有资源都是服务(这里PWF内存和存储不是)。那应用与服务应该有某种契约。
时间: 2024-10-15 19:57:10