本文簡要講述如何通過解密和編輯 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。