Nutanix超”容”合之ACS <Acropolis Container Service> (下)实战篇由于篇幅的原因,将分为01和02两个部分:
- 实战篇01主要介绍环境的准备和Nutanix Docker Machine Driver使用
- 实战篇02主要介绍Nutanix Docker Volume Plugin的使用和数据持久化测试
前期准备
服务端
Nutanix Community Edtion (Version 2016.06.30)
该版本是NCE最新的稳定版且支持ABS和ACS。
详细安装教程:
浅尝超融合之Nutanix(下)安装部署篇
客户端
CentOS 7.2 with Docker Machine 0.6.0
客户端主要是用来运行Docker Machine,本例中是跑在NCE上的一台Linux虚拟机,也可以是装有Mac系统或Windows的笔记本。
需要注意的是Docker Machine已经发布到0.8.0,但是与ACS兼容方面有问题,经社区提问和多次测试之后确定0.6.0能够稳定支持ACS。
Nutanix ACS组件下载
ACS组件下载
- Nutanix Docker Host Image(Docker Host VM Image)
- Nutanix Docker Machine Driver(Docker Machine Driver – Linux)
- Nutanix Docker Volume Driver(已经包含在Docker Host VM Image中)
环境准备
下面我们需要登录到Prism控制台Web界面来进行ACS实践前的一些准备。
注:文中提到的Settings按钮均为Prism界面右上角的那个小齿轮。
镜像上传
将下载好的Docker Host VM Image上传到Prism的镜像服务中
Settings–>Image Configuration–>Upload Image
- NAME:docker(任意)
- IMAGE TYPE:DISK
- CONTAINER:默认即可
- Upload a file:浏览选择镜像文件
集群准备
配置集群信息
Settings–>Cluster Details
- CLUSTER NAME:Docanix(任意)
- CLUSTER VIRTUAL IP ADDRESS:192.168.2.22
(该IP用来提供访问Nutanix环境集群的虚拟IP,由于本实验环境为单节点所以只需指定任意一个空闲的IP即可。) - EXTERNAL DATA SERVICES IP ADDRESS:192.168.2.23
(该IP用来提供ABS的iSCSI存储服务,是使用ACS功能的重要前提。IP地址任意,选一个空闲的IP即可。)
网络准备
创建一个网络
Settings–>Network Configuration–>Create Network
- NAME:Bridge
- VLAN ID:0
- ENABLE IP ADDRESS MANAGEMENT:勾选
- NETWORK IP ADDRESS/PREFIX LENGTH:192.168.2.0/24
- GATEWAY IP ADDRESS:192.168.2.1
- CONFIGURA DOMAIN SETTINGS:勾选
- DNS:202.103.24.68
- IP ADDRESS POOLS:192.168.2.150~192.168.2.200
(以上网络配置根据自己的环境来确定,注意路由器开启DHCP服务。)
创建存储容器
此容器为Nutanix中于存储相关的概念,并非Docker容器。
就个人的理解,Container从Storage Pool(存储池)中将存储资源舀一瓢出来,如有需要存储资源的则直接从容器中获取而非直接去存储池获取。Nutanix存储的副本、压缩、去重、分层等功能应该都是基于Container来做的。
Home–>Storage–> + Container
名称任意,其他设置保持默认(主要原因是高级设置我不会)…
至此整个环境的介质、网络、存储等配置已经完成。内容写得很多,其实操作起来异常简单,基本都是点点点就行。
生成Docker宿主机
快速生成Docker宿主机是ACS的核心功能之一,到这里我们就可以开始尝试在Nutanix的AHV虚拟化环境provision我们的Docker Host虚拟机了。
客户端准备
客户端就是我们先前已经准备好的Linux虚拟机。再次强调,客户端环境可部署到任意地方或者用任意OS都行,只需要安装Docker Machinge和Nutanix Docker Machine的驱动就行。(当然前提是客户端网络跟Nutanix服务端是连通的)
安装Docker Machine 0.6.0
安装Nutanix Docker Machine Driver for Linux
将下载好的docker-machine-driver-nutanix.linux上传
生成Docker宿主机
生成docanix01虚机
参数解释:
- -D:docker machine的debug模式,可选
- -d:指定驱动,这里输入nutanix即可
- username: Prism的用户名
- password: Prism的密码
- endpoint: Prism的IP地址+9440端口(这里写集群的IP地址应该也可以)
- vm-image: 之前上传的image的名字
- vm-network: 之前创建网络的名字
- vm-cores: CPU核心数
- vm-mem: 内存大小(MB为单位)
- docanix01:为创建的虚拟机的名字
生成docanix02虚机
查看Docker Host是否创建成功
查看Docker Host的基本信息
可以看到我们生成的docker host的操作系统为CentOS 7.2,Docker Engine版本为1.12。
好了,名为docanix01和docanix02的虚拟机已经创建成功,命令异常简单,整个过程也很快。当然肯定不是秒级,但是比自己创建虚拟机并且手工安装Docker Engine真的要快上太多。
美中不足的是Docker Engine使用默认的device map存储驱动而且为loop-lvm模式,该模式是Docker明文不建议用到生产环境中的,希望Nutanix在后续能够改进。
注:这不是Nutanix的问题,CentOS上默认安装的Docker Engine都是这种情况。
不信你去看…使用docker info:
WARNING: Usage of loopback devices is strongly discouraged for production use.
注:Docker Host虚拟机生成过程涵盖curl的安装,OS的升级(yum update)和最新的Docker Engine安装,所以整个Nutanix环境需要能够连接到互联网才能成功,这也是我们之前为什么要做网络配置的原因。
下篇我们会介绍使用Nutanix ACS的Volume Plugin功能来实现容器数据的持久化功能,敬请期待!
评论前必须登录!
注册