本文简要讲述如何通过解密和编辑 Ops Manager 用来存储配置数据的 YAML 文件来修改 Ops Manager 的安装。可以通过这些过程来查看并更改那些无法通过 Ops Manager 的web界面访问到的值。此外,还可以修改 Ops Manager 用来创建表单和获取用户输入的产品模板。
- Tips: 在更改 Ops Manager 的安装和产品模板文件时一定要细心仔细。使用
space
键而不是tab
键,谨记 YAML 文件使用空格作为分隔符。而且,Pivotal 并没有官方支持这些操作,所以使用这些操作时具有一定风险。
安装和产品模板文件简介
在安装过程中, Ops Manager 将来自安装和产品模板文件的信息结合起来,从而生成定义部署的 manifest 清单。
- installation 文件:PCF 将用户输入的数据和为 Ops Manager 自动生成的值存储在 Ops Manager 虚机(VM)上的一个 installation YAML 文件中。PCF 将这个文件加密并保存在目录
/var/tempest/workspaces/default
下。必须对该文件进行解密,以查看内容,按需进行编辑,然后对其进行重新加密。 - 产品模板:Ops Manager 使用产品模板来创建表单并获得用户输入。产品模板中的
job_types
和property_blueprint
键-值对决定了jobs
和properties
部分在installation文件中的显示方式。 Ops Manager 将产品模板作为YAML文件保存在Ops Manager 虚机的目录/var/tempest/workspaces/default/metadata
下。这些文件没有加密,因此可以在不解密的情况下对它们进行编辑。
修改 installation 文件
执行以下步骤来定位、解密和编辑 Ops Manager 的installation文件:
- 1.命令行中,运行
ssh ubuntu@OPS-MANAGER-FQDN
进入Ops Manager虚机。 - 2.进入到 scripts 目录:
$ cd /home/tempest-web/tempest/web/scripts/
- 3.运行以下命令对 installation.yml 文件进行解密,并对解密文件进行临时复制。当提示输入密码时,输入在首次启动 Ops Manager 时创建的解密密码:
$ sudo -u tempest-web ./decrypt /var/tempest/workspaces/default/installation.yml /tmp/installation.yml
- 4.打开
/tmp/installation.yml
文件来查看或编辑值。 - 5.如果计划做更改,请备份原始的 installation.yml 文件:
$ cp /var/tempest/workspaces/default/installation.yml ~/installation-orig.yml
- 6.如果已经对 installation.yml 文件的副本做了更改,那么必须对它进行加密并覆盖原始文件:
$ sudo -u tempest-web RAILS_ENV=production /home/tempest-web/tempest/web/scripts/encrypt /tmp/installation.yml /var/tempest/workspaces/default/installation.yml
- 7.删除解密文件的临时副本:
$ rm /tmp/installation.yml
- 8.重启 Ops Manager 的web 界面:
$ sudo service tempest-web stop && sudo service tempest-web start
- 9.在浏览器中进入到Ops Manager ,然后输入解密密码。
- 10.登录 Ops Manager ,并点击 Apply Changes。
- 11.如果 Ops Manager 不能加载更改,请看本文的 恢复备份 部分来可以恢复以前的设置。
修改产品模板文件
执行以下步骤来定位和编辑 Ops Manager 的产品模板文件:
- 1.命令行中,运行
ssh ubuntu@OPS-MANAGER-FQDN
进入Ops Manager虚机。 - 2.在 Ops Manager 虚机中,进入到 metadata 目录:
$ cd /var/tempest/workspaces/default/metadata/
- 3.
/var/tempest/workspaces/default/metadata/
目录包含了作为YAML文件的产品模板。如果计划做更改,请备份原始的产品模板YAML文件:
$ cp /var/tempest/workspace/default/metadata/YOUR-PRODUCT-TEMPLATE.yml ~/YOUR-PRODUCT-TEMPLATE-orig.yml
- 4.打开并按需编辑产品模板的 YAML 文件。
- 5.在浏览器中进入到Ops Manager ,看是否有变化。
- 6.如果 Ops Manager 不能加载更改,请看本文的 恢复备份 部分来可以恢复以前的设置。
恢复备份
执行以下步骤,以恢复 安装或产品模板文件 的备份:
- 1.命令行中,运行
ssh ubuntu@OPS-MANAGER-FQDN
进入Ops Manager虚机。 - 2.用备份文件覆盖修改后的文件:
- 对于安装文件,运行下面的命令:
$ cp ~/installation-orig.yml /var/tempest/workspaces/default/installation.yml
- 对于产品模板文件,运行下面的命令:
$ cp ~/YOUR-PRODUCT-TEMPLATE-orig.yml /var/tempest/workspaces/default/metadata/YOUR-PRODUCT-TEMPLATE.yml
- 3.重启 Ops Manager 的web 界面:
$ sudo service tempest-web stop && sudo service tempest-web start
- 4.在浏览器中进入到Ops Manager ,然后输入解密密码。
- 5.登录 Ops Manager ,并点击 Apply Changes。