ZStack是一家坚持自主创新、专注产品化的云计算公司,以“降低企业上云门槛、让每一家企业都拥有自己的云”为使命,提供自研的ZStack私有云、ZStack混合云、ZStack Mini超融合一体机、ZStack CMP多云管理平台、ZStack企业级分布式存储等产品和方案。
作为新一代创新开源的云计算IaaS软件,ZStack由英特尔、微软、CloudStack等世界上较早一批虚拟化工程师创建,拥有KVM、Xen、Hyper-V等成熟的技术背景。ZStack创新提出了云计算4S理念,即Simple(简单)、Strong(健壮)、Scalable(弹性)、Smart(智能),通过全异步架构,无状态服务架构,无锁架构等核心技术,完美解决云计算执行效率低,系统不稳定,不能支撑高并发等问题,实现HA和轻量化管理。
行云管家是厂商中立的第三方云计算管理平台,帮助企业“易上云”“用好云”,支持跨云厂商管理,提供资源使用监控、审计,降低用户运维成本。行云管家有三种产品形态,分别是:“行云管家SaaS平台”、“行云管家堡垒机私有部署版”和“行云管家云管平台私有部署版”。本次测试环境中部署“行云管家堡垒机私有部署版”。
图2-1 导入私有云主机
2. “指定私有云厂商”页面,选择ZStack,如图2-2所示。
图2-2 选择ZStack
3. “私有云”详情页面,填写要接入的ZStack管理节点IP和相关AK信息,如图2-3所示。行云管家默认调用ZStack 8080端口进行API交互。如果在ZStack上更改端口,此页面的端口信息应填写更改后的端口。
图2-3 填写ZStack管理IP与AK信息
获取ZStack AK接入信息的方法,在ZStack“平台管理”中“AccessKey管理”界面,点击“生成AccessKey”,获取新生成的“AccessKey ID”和“AccessKey Secret”,如图2-4、2-5所示。
图2-4 ZStack AccessKey管理
图2-5 生成新的Access Key
4. 信息填写正确的情况下,行云管家会自动扫描ZStack中的虚拟机,选中需要导入行云管家的虚拟机,如图2-6所示。
图2-6 选择需要导入的虚拟机
5. 为接入的ZStack环境,设置行云管家“云账户名称”,点击“导入”,如图2-7所示
图2-7 设置云账户名称
6. 导入成功后,可在“主机”页面看到接管后的虚拟机,如图2-8所示。
图2-8 接管后的虚拟机
Proxy宿主机,需要与其他需要管理的ZStack虚拟机处于同一局域网,并且Proxy原生支持RDP/SSH/VNC协议。Proxy是一种类VPN的解决方案。终用户的会话访问拓扑图如图所示。
图3-1 Proxy宿主机网络拓扑
网络详情页切换网络访问模式为“Proxy代理模式”,在“可用列表”中点击“立即部署”,如图3-2所示。
图3-2 部署Proxy代理
选择ZStack该三层网络上的虚拟机,如图3-3所示。
图3-3 选择ZStack中虚拟机
将该脚本在选中的虚拟机中执行,如图3-4、3-5所示。
图3-4 获取Proxy脚本
图3-5 安装Proxy脚本
安装完成后,行云管家Proxy宿主机中已经出现刚刚完成安装的虚拟机,如图3-6所示。
2.行云管家agent
行云管家对ZStack中虚拟机的监控分为两类:调用ZStack API获取监控、虚拟机内安装行云管家agent。行云管家agent运行过程中获取的监控数据、自动化运维脚本、文件分发等数据都是先连接到Proxy宿主机,随后中转到行云管家门户虚拟机进行交互。
在需要安装agent的ZStack虚拟机页面,选择“立即安装”,如图3-7所示。
图3-7 选择需要安装agent的ZStack虚拟机
在“安装agent”页面中选择“自动安装”,如图3-8所示,输入即将安装agent的虚拟机ssh密码。如果选择“手动安装”,则需要手动ssh到ZStack虚拟机中输入脚本。
图3-8 agent自动安装模式
安装结束后,在行云管家接管的虚拟机详情页,agent状态为“运行中”,如图3-9所示。
图3-9 agent状态为“运行中”
3.行云管家中,访问ZStack虚拟机web控制台或桌面的方式有以下四种:①Web桌面访问,该访问方式支持RDP、SSH、VNC、TELNET。②本地工具访问,本地工具访问方式允许用户使用本地xshell、putty等工具与内网虚拟机进行交互。此工具需要用户安装行云管家浏览器插件。③ZStack管理终端,该访问方式依赖于ZStack云平台提供的VNC端口。④SSH跳板机访问,行云管家门户虚拟机默认可以充当跳板机的角色。使用行云管家账号SSH到门户虚拟机的8022端口,就可以看到跳板机的页面。
4.Web方式访问,点击“立即访问”,如图3-10所示。
图3-10 Web方式访问
输入目标虚拟机的SSH密码,如图3-11所示。需要注意的是,无论是使用Proxy虚拟机跳转访问,还是使用门户虚拟机直连访问,都需要保证网络可达。
进入会话页面后可以看到,使用Web桌面进行SSH访问,会话清晰度良好,自适应高分辨率显示器,如图3-12所示。
5.ZStack管理终端方式访问,点击“立即访问”,如图3-13所示。
图3-13 ZStack终端方式访问
在管理终端访问详情页,配置ZStack云平台admin账户密码,如图3-14所示。
进入会话页面后可以看到虚拟机桌面,该会话窗口无法自适应,如图3-15所示。
图3-15 ZStack终端访问会话窗口
6.SSH跳板机访问,使用本地工具xshell,连接行云管家门户虚拟机8022端口,并配置访问账号密码,如图3-16所示。
图3-16 配置访问端口与密码
进入跳板机页面后,可以看到在行云管家中接入的所有ZStack虚拟机。跳板机模式中,可以进行SSH会话的虚拟机仅限于与行云管家门户虚拟机网络可达的虚拟机。如图3-17所示,配置好目标虚拟机的ssh账号密码后,即可进行会话访问。
图3-17 跳板机访问页面
目前ZStack云平台3.8版本已经实现虚拟机内部监控,覆盖了主流Linux/Windows以及国产操作系统。ZStack云平台内部监控的主要原理为安装agent,通过agent直接从云主机内部获取监控数据,实时动态展示云主机各项负载性能指标。
行云管家针对ZStack虚拟机的监控分为两种。为行云管家agent,原理与ZStack云平台“内部监控”原理一致,都是通过安装agent从虚拟机中获取监控数据。第二种为ZStack外部监控,主要原理为调用ZStack云平台本身的外部监控API,获取ZStack云平台外部监控数据,ZStack云平台外部监控的原理为使用Libvirt从物理机采集云主机的CPU、内存、磁盘IO和网络相关数据。监控项如图4-1所示。
图4-1 行云管家监控项
面对用户对ZStack虚拟机内部的运维需求,行云管家推出了“作业中心”与“任务编排”的功能。
5.1 作业中心
行云管家作业中心是在ZStack云平台基础上,开发的一个能够对ZStack虚拟机批量命令、脚本执行的基础运维工具。目前作业中心主要包含“脚本库”、“命令控制台”、“脚本控制台”,它们分别用于处理不同场景下的批量操作业务。
脚本是实现自动化运维的基础,脚本库是脚本的容器。行云管家中内置了SaltStack脚本库,用户也可以自定义个人脚本库,如图5-1所示。
拥有可以使用的脚本库后,用户可以使用“脚本控制台”将这些脚本导入到ZStack虚拟机上运行。脚本执行时,在控制台将自动打开一个新的tab,展示该次执行的进度和结果,如图5-2、5-3所示。
“命令控制台”是一种更加轻量化的操作ZStack虚拟机的方法。用户无需提前编写命令,可以随时对所选主机(已安装agent或可以SSH快捷登录的主机)执行任何命令,主机输出界面更友好,方便实时查看命令输出,如图5-4所示。
图5-4 命令控制台
5.2 任务编排
行云管家作业中心提供给用户一种快捷、临时性的对主机批量操作的入口。运维过程中,涉及到一些复杂、需要日常重复性的工作,则可以通过任务编排来处理。任务编排可以将复杂的作业节点编排成任务,设定触发条件和时间,满足用户灵活多变的应用场景。
在“任务库”中,用户可以自定义多个“运维任务”。目前行云管家支持的任务节点内容有执行命令、执行脚本、分发文件、采集文件四种类型,如图5-5所示。
图5-6 添加多个任务节点
图5-7 任务库页面
运维安全是IT管理中不可或缺的一环,行云管家为用户提供了事后运维审计的特性,用户在行云管家中所进行的运维操作均会以日志的形式记录下来。
以“会话审计日志”为例,如图7-1所示,会话审计列表展示了所有用户的主机会话访问记录。当开启“录像审计”后,用户的每次会话访问操作均会被录像记录,录像可在线播放,也可离线下载。
图6-1 会话审计日志页面
如图7-2所示,在审计录像中,“指令检索”将展示当前会话产生的所有指令,用户可以根据指令关键字、指令类型进行检索,并可快速的将录像定位到相应的时间点。
图6-2 审计录像播放
行云管家与ZStack云平台的对接是一种优势互补。ZStack给用户提供了稳定易用的产品化IaaS,同时开放所有的API接口,方便用户二次开发对接。用户可以获取到ZStack云平台内虚拟机粒度的运维操作,例如创建虚拟机、迁移虚拟机、虚拟机挂载云盘、挂载VPC网络等。行云管家则借助ZStack的开放接口,为用户提供了虚拟机内部的可视化运维管理,例如作业中心、任务编排、内网访问、主机会话访问、虚拟机内文件可视化,大大降低了用户的运维难度,满足用户灵活多变的业务需求。期待未来行云管家持续深化与ZStack的对接,为用户带来更好用的产品体验!