你可能已经知道vSphere集成容器(以下简称VIC)在vSphere部署中能够像运行虚拟机那样运行容器—但这只是开始。关于容器还有很多要了解的地方,尤其是如何在生产环境中使用容器。本文我们进一步了解如何部署两个VIC组件—Harbor和Admiral。
Harbor是企业级容器注册表。简单来说,开发人员将容器镜像存储在此处,这样运营团队就能够在测试及生产环境中部署容器了。Admiral是容器图形管理门户。Harbor、Admiral构建在vSphere 6.5设备内。为使用Harbor和Admiral,用户必须部署全新的VMware VIC设备,这两个组件都依赖SSL认证。
创建一个Harbor设备
证书与系统名是紧耦合的;证书用于证明服务器所具备的属性。简单起见,我正在使用的服务器harbor在网络中称为d.local。我设置了一个静态的IP地址以及一个DNS A记录。该设备的DNS名是harbor.d.local.
为创建该设备,首先必须为Harbor实例生成一个SSL证书。过去,我尝试避免生成证书,但这带来的麻烦要比生成受信证书多得多。为生成SSL证书,需要安装OpenSSL。在文件名中包含服务器的DNS因为这样就能够更轻松地识别哪个服务器在使用哪个文件。使用如下命令生成一个私有秘钥以及证书签名请求:
openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.d.local.key -out harbor.d.local.csr
该命令将会提示你为私有key以及证书签名请求提供一个通用名。改名字应该是你在浏览器中访问Harbor页面的名字。在实验中,我使用了DNS名harbor.d.local.该命令将会生成私有key以及证书签名请求,如图A所示。
图A.生成私有key以及证书签名请求
使用证书签名请求向认证中心请求证书并下载请求认证文件。确保请求web服务器证书并下载一个使用Base64编码生成的证书。我将证书文件重命名为harbor.d.local.crt以与命名规则保持一致。
接下来,部署VMware VIC设备。设置主机名以与证书通用名保持一致。我还设置了一个静态IP地址以与DNS条目相匹配。
证书文件(harbour.d.local.crt)以及私有key文件(harbour.d.local.key)都是文本文件。如图B所示,我们需要粘贴其内容到VMware VIC虚拟设备部署向导中。我们需要Harbor注册表,因此你也应该使用相同的证书及key文件用于管理门户以及文件服务器。
图B. SSL证书以及认证key文件
部署完设备后,加电启动即可。系统启动完成后,在浏览器中使用HTTPS访问Harbor。在实验中,URL是https://harbor.d.local。如果证书有问题,你将会收到一个错误信息,否则web页面将会正常加载。Harbor应该会在VIC的注册标签下显示组织的容器注册表。
现在你可以将用户以及项目目录提供给管理Docker镜像的开发人员。
使用Admiral管理容器
和虚拟容器主机部署工具以及Harbor一样,Admiral构建在VMware VIC设备中。Admiral是一个管理容器的web门户。在配置Admiral时你可以使用与Harbor管理门户相同的证书信息。在Harbor页面顶部输入管理链接访问Admiral。在我的实验中,可以通过https://harbor.d.local:8282访问Admiral。
为添加一个VCH,点击添加主机然后输入VCH的详细信息。将连接端口修改为2376,不要使用默认的443。为认证选择默认的放置区以及默认的证书。
图C.添加虚拟容器主机
输入所有的值,点击验证然后确认以接受证书。如果容器主机使用的是由认证中心颁发的证书,那么不需要再次接受证书,因为证书已经受信了。
一旦VMware VIC验证通过,点击添加按钮查看容器主机列表。这些主机不一定是VIC主机;它们可以是运行Docker引擎的任何主机。资源视图显示所有正在运行以及停止的容器。鼠标定位到某个容器时,你可以通过点击右键直接启动、停止或者删除容器。
鼠标单击容器查看有关该容器的更详细的信息,比如资源使用以及配置的日志。我没有为Admiral容器配置任何日志,所以它没有使用很多资源。
图D.容器使用、属性以及日志示例
通过模板视图可以发现能够部署的容器镜像。如果还没有运行Admiral,那么可以通过该窗口部署Admiral。点击容器镜像选项下的配置按钮下载该容器镜像并在其中一个VCH中加载容器。
现在有一些VCH列在Admiral与Harbor中,开发人员可以在其中部署Docker镜像,这时距离像部署虚拟机那样部署容器又更近了一步。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
如何解决常见VMware VIC和Docker容器问题
VMware VIC(vSphere Integrated Containers)具有很多吸引用户的卖点,但是使用Docker容器运行微服务demo应用并不是其中一项。