博客

DBaaS时代的自助服务

  • 2019年5月22日
  • 0回答
  • 1561的浏览量
DBaaS时代的自助服务
Userlevel 7
徽章 + 34
本文作者是技术营销工程师Michael Haigh Nutanix

(又名Nutanix Calm为Nutanix时代提供综合自助服务)

Nutanix Era是一个自动化和简化数据库管理的软件套件——为数据库供应和生命周期管理(LCM)带来一键式的简单性和不可见的操作。Nutanix Era的第一个服务是一键式数据库供应和复制数据管理(CDM),它允许dba在任何时间点供应、克隆、刷新和备份他们的数据库。

以api为基础的Nutanix Era架构可以轻松地与您首选的自助服务工具(如Nutanix Calm)集成。dba和基础设施管理员可以构建以Era为中心的Calm蓝图,开发人员可以使用该蓝图通过自助服务来提供或克隆Era管理的数据库。这允许dba和基础架构管理员保留对Era管理员帐户的唯一访问权限,同时仍然允许开发人员按需提供或克隆数据库。

这篇博文将着重于导入并启动一个Calm的蓝图,它将克隆现有的Era管理的数据库。有关数据库配置的蓝图,请参阅Nutanix GitHub的蓝图库PostgreSQLMariaDB提供蓝图。在接下来的博客中,我们将介绍这些蓝图,以及如何利用它们为您的应用程序提供生产级数据库。

蓝图进口

首先,我们需要下载存储在GitHub上的原始JSON蓝图文件。导航到该链接并保存页面,或者从终端运行以下命令:

代码:
wget https://raw.githubusercontent.com/MichaelHaigh/calm-blueprints/master/EraDatabaseClone/EraDatabaseClone.json美元

接下来,用管理员、项目管理员或开发人员帐户登录Nutanix Calm。选择蓝图按钮,然后选择上传的蓝图按钮


在弹出窗口中,首先选择最近下载的蓝图,然后为蓝图指定一个描述性名称,然后选择您希望与该蓝图关联的项目。请注意,蓝图仅限于单个项目。如果您有多个希望关联的项目,您可以稍后将蓝图发布到市场,它允许无限数量的项目。


后单击上传按钮,您将看到蓝图画布。在启动蓝图之前,我们需要填写两个区域。首先,选择凭证沿着顶部,并提供以下两个凭证:
  • era_creds: Era服务器的管理帐户凭据。DBA或Infra Admin应该提供这些经过加密和安全存储的凭证,开发人员不能使用这些凭证。
  • db_server_creds:允许SSH访问Era提供的数据库的私钥。建议提供默认的私钥,但保留为运行时,以便开发人员可以在需要时指定自己的密钥。


如果您手边没有SSH密钥,可以使用以下命令生成和打印SSH密钥:

代码:
$ ssh-keygen -t rsa -f ~/erakey -C era@example.com
$ cat ~/erakey #在凭据部分输入这个值
猫~ / erakey美元。稍后在变量部分输入这个值

完成后,选择回来按钮在右上角。接下来,我们需要配置几个变量:
  • source_db_name:这个应该留空,但保留为运行时,以便开发人员可以在应用程序启动时指定源数据库的名称。如果留空,或者给出了不正确的名称,应用程序将故意提前失败,并为开发人员提供有效的数据库名称列表。
  • source_snapshot_id:这应该留空,但保留为运行时,以便开发人员可以指定他们希望用于数据库克隆的快照的UUID。如果为空,将自动选择最近的快照。如果提供了不正确的UUID,应用程序将故意提前失败,并为开发人员提供有效的快照UUID列表。
  • cloned_db_name:这应该留空,但保留为运行时,以便开发人员可以命名数据库克隆。如果为空,克隆数据库将默认为_Clone_。
  • cloned_db_public_key:结合“db_server_creds”,这允许SSH访问克隆的DB服务器。建议添加一个默认的匹配公钥,但将该字段保留为运行时,以便开发人员可以根据需要指定自己的密钥。
  • era_ip:时代服务器的IP地址。这应该在蓝图导入时进行配置,然后不去管它。


填写完下面两个变量后,单击保存在右上角,并验证没有任何警告或错误出现。现在,我们准备好启动我们的蓝图了。

蓝图发射

单击右上角的发射按钮,您将看到应用程序启动页面。至少,您需要提供一个应用程序名称,并填入source_db_namecloned_db_password变量。


如果您不知道在Era中注册的数据库的名称,可以询问您的DBA,或者直接使用source_db_name字段空白。应用程序启动将失败,但是1 getdbhostinfoPackage Install任务将包含一个有效的数据库名称列表。

虽然你不需要也不需要访问Nutanix Era,但如果你访问了,你可以从操作时代的页面:


应用程序管理

在Calm应用程序上更改为运行状态时,Era源数据库已成功克隆,并且可以从服务选项卡。要验证我们是否拥有一个功能良好的数据库,可以从服务选项卡,并将启动时提供的数据库名和密码提供给PSequel这样的工具:


另外,除了默认的配置文件操作(启动、停止、删除等)之外,自定义的第二天操作在管理标签:
  • 获取父快照列表:运行此操作时,将提供克隆父节点的快照时间和uuid列表。这在运行刷新克隆操作时非常有用。
  • 刷新克隆:执行该操作时,克隆数据库将被刷新到不同的快照。可选地提供一个快照UUID(可以从获取父快照列表操作),如果为空,克隆将刷新到最近的快照。
假设我们在昨晚10:45左右收到了生产应用程序出现问题的报告。我们可以先运行获取父快照列表,它将返回所有可用快照的列表(输出截断):

代码:
快照ID(复制此):1192b09d-3259-4f3e-91de-a7af9aea5179
快照时间戳:2019-05-12 22:35:57
------------------------
快照ID(复制此):8a27dd58-64ef-4972-add4-edad4558fdc8
快照时间戳:2019-05-12 23:23:58
------------------------
快照ID(复制此):5a4168e3-93ac-48e6-bdb5-1d1794a4ac42
快照时间戳:2019-05-13 00:11:57

为了确保捕获报告的错误,我们将刷新数据库到从8a27dd58开始的快照:


总结

由于Nutanix Era及其api的开放性和灵活性,使用现有的自助服务工具(如service Now或Nutanix Calm)来扩展Era的功能非常简单。这允许自我服务供应和克隆Era管理的数据库,而管理员无需向开发人员提供Era管理凭证。

©2019 Nutanix, Inc。保留所有权利。Nutanix、Nutanix标识以及本文中提到的其他Nutanix产品和功能是Nutanix公司在美国和其他国家的注册商标或商标。本协议中提到的所有其他品牌名称仅供识别之用,可能是其各自持有人的商标,Nutanix不得与该等持有人关联、赞助或认可。本文件仅供参考,不提供任何类型的保证,无论是隐含的,法定的或其他

这个话题已经停止评论
Baidu