本文介绍在基于VMware技术的虚拟机资源池上,部署Pivotal Cloud Foundry(PCF)的过程。Pivotal对Cloud Foundry(CF)进行了商业化包装,虽然其部署过程现阶段还没有简单到vSphere产品线的水平,但是比开源版本的部署要容易的多。本文将包括Pivotal Ops Manager、Operations Manager Director for VMware vSphere和Pivotal Elastic Runtime构成的CF基础环境、Java/Ruby等buildpack、主要服务(MySQL、Riak CS、Redis、RabbitMQ、Auto Scaling)的安装配置指南。

准备

  • IP地址:PCF的最小安装也需要数十个IP地址(具体数字没有数过),因此,实现准备一个C类地址的vLan供PCF使用是必要条件。多说一句,大于一个C也不好,一个PCF包含太多的资源就意味着太多的应用,就意味一个篮子的鸡蛋太多,碎了蛋真疼啊,一地白花花的蛋清混着蛋黄,恢复起来真尼玛费劲啊(别问我为啥知道疼)。假定地址为10.23.124.0/24,去除保留给网络管理用的开头结尾,可以用IP为10.23.124.4-251,掩码为255.255.255.0,网关为10.23.124.254,DNS为10.23.144.9,10.23.144.7。
  • 时间服务器:PCF的配置中基于NTP的时间服务器是必要条件,鉴定时间服务器为ntp.mydomain.com,可参见《NTP时间服务搭建、使用及常见问题》进行NTP服务器设置。
  • 域名:需要至少一个完整的子域,假定为*.open.mydomain.com,这个子域用于PCF自己的系统管理应用域名和PCF上的应用使用的域名,当然也可以把它们分开。关于域名、互联网访问和HAProxy的解决方案,我会单独再写一篇讲解。
  • 邮件服务器:提供SMTP服务的邮件服务器。
  • LDAP服务器:如果希望让PCF用企业LDAP进行用户验证,需得到LDAP服务器的信息。
  • IaaS:PCF支持的IaaS是基于VMware技术的虚拟机资源池,即VC管理的vSphere虚拟机资源池,详细的IaaS安装配置管理解决方案请参见《基于VMware的虚拟机资源池实现(上)-创建资源池》和《基于VMware的虚拟机资源池实现(下)-运营资源池》。需要在VC中设置一个port group支持10.23.124.0/24,并分配两块2T的data store给想要使用的cluster(包含至少2台ESX,配置参见刚提到的那两篇)。另外需要给PCF创建一个有VC管理员权限的的用户,方法参见VCenter集成LDAP和AD的配置方法
  • 安装文件:PCF虽然是商业化软件,但是和Oracle一样,所有的安装介质均可从官网下载到安装介质:Pivotal Ops Manager & Operations Manager Director for VMware vSpherePivotal Elastic RuntimeBuildpacksMySQLRiak CSRedisRabbitMQAuto Scaling。最后一个是我给出的地址,因为这个产品默认是无法下载的,其他产品需要注册免费用户后下载。

PCF基础环境安装

Pivotal Ops Manager

Ops Manager是对PCF进行安装、升级、变更的控制台,其安装文件为一个ova虚拟机模板,只要导入到虚拟机资源池生成一个虚拟机即可。
使用vSphere client登陆到VC上,点击菜单文件-》部署OVF模板,选择下载的ova文件,给虚拟机命名,如pom,选择放置虚拟机的cluster,选择放置虚拟机的esxi主机,选择放置虚拟机的datastore,选择磁盘格式,瘦模式即可,这个就是管理员用,然后填写虚拟机网络配置信息,确认后等待导入完成即可,那个密码是生成ubuntu虚拟机的tempest用户(有sudo的权限)的密码,也是登陆Ops Manager的web界面的密码:
这里写图片描述

Operations Manager Director for VMware vSphere

Operations Manager Director for VMware vSphere是配置PCF对于IaaS层的连接信息的模块,和之后所有的模块一样,都是在Ops Manager的web页面中进行安装配置的。
首先登陆Ops Manager,在Chrome浏览器输入地址https://10.23.124.4,用户名admin,密码是上一步中输入的密码,主界面中将只有一个模块,点击进入进行配置:
1. 在vCenter Config中输入:VC的IP地址,准备好的管理员用户名密码,部署PCF的VC内的数据中心名称,逗号分隔的部署PCF使用的datastore列表,记得点保存,并确定界面上除了绿条提示成功。
2. 在Director Config中输入:时间服务器的域名ntp.mydomain.com,记得点保存,并确定界面上除了绿条提示成功。
3. 在Create Availability Zones中输入:点击add添加一个新的zone,名字为default,输入VC中将使用的cluster名称,记得点保存,并确定界面上除了绿条提示成功。
4. 在Assign Availability Zones中输入:选择上一步创建的default zone,记得点保存,并确定界面上除了绿条提示成功。
5. 在Create Network中输入:点击add添加一个新的network,名字为default,输入VC中的port group名称,subnet输入10.23.124.0/24,exclued ip range输入10.23.124.1-10.3.4.4,10.23.124.252-10.23.124.255,DNS输入10.23.144.9,10.23.144.7,gateway输入10.23.124.254,记得点保存,并确定界面上除了绿条提示成功。
6. 在Assign Network中输入:选择上一步创建的default network,记得点保存,并确定界面上除了绿条提示成功。
7. Resource Config可保持默认设置,这个不影响CF的整体性能,也是管理目的的节点,记得点保存,并确定界面上除了绿条提示成功。
最后,点击Ops Manager主界面右侧的Apply Change,然后,等着提示成功,如果失败了,可以用Apply Change按钮下面的安装日志按钮查看错误原因。trouble shooting的办法回头我另一篇吧。提示:Apply Change每点一次都很慢,因为Ops Manager根据模块的安装配置文件和输入的自定义设置生成了bosh脚本,然后bosh脚本去生成虚拟机,安装软件,做设置。点击Apply Change要慎重,这些产品有些是有先后顺序的。
下篇我将介绍Pivotal Elastic Runtime、buildpack和Marketplace里的各项服务的安装配置。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐