本主題說明如何透過新增 Omnissa 基礎結構/平台節點和 Access 節點來取代現有的控制平面部署,並說明節點變得狀況不良且從叢集中移除時會發生的情況。
將 Omnissa Access 節點新增至叢集
您可以將 Omnissa Access Linux 節點新增至叢集,以取代現有的控制平面節點。從啟動程序節點執行 wso cp deploy 命令,以載入新節點。
先決條件
- 執行部署命令前,已將新節點的 IP 位址新增至
cp-cluster.ini中適當的主機群組下。 - 啟動程序節點可透過 SSH 連線至新節點。
操作程序:
-
開啟
/opt/wss/<cluster_name>/cp-cluster/cp-cluster.ini檔案,並將新節點的 IP 位址新增至適當的主機群組下。例如:選項 1 - Omnissa Access 節點: 如果您要新增 Omnissa Access 節點,請將其新增至下列區段:
[general_compute_access_linux] 10.0.0.x 10.0.0.x # New node [vault_server_linux] 10.0.0.x # New node [consul_server_linux] 10.0.0.x # New node [nomad_server_linux] 10.0.0.x # New node [general_compute_nginx_http] 10.0.0.x # New node選項 2 - 基礎結構/平台節點: 如果您要新增基礎結構/平台節點,請將其新增至除下列區段以外的所有區段:
[general_compute_access_linux] [general_compute_nginx_http] [asset_server_linux] # If the new node is a candidate for asset-server-linux that will replace existing asset-server, you must add a node IP in asset_server_linux, too.**重要:**請勿將啟動程序節點的 IP 位址新增至詳細目錄。如果偵測到啟動程序 IP,驗證將會失敗。
-
從啟動程序節點執行
wso cp deploy,將節點加入叢集。-
若要將一或多個特定節點加入叢集,請使用
-t(--target-hosts) 旗標:# navigate to your cluster working directory cd /opt/wss/<cluster_name> wso cp deploy -t "10.0.0.x"若要新增多個節點:
cd /opt/wss/<cluster_name> wso cp deploy -t "10.0.0.x,10.0.0.x"
-
-
執行下列命令,檢查叢集的健全狀況:
wso healthcheck -
將工作負載 (服務) 移至新節點。 依預設,新加入的節點上不會執行任何工作負載。 您應使用 Nomad 權杖登入 Nomad UI,並執行下列步驟:
- 登入位於
https://10.0.0.x:4646/ui/jobs的 Nomad UI - 按一下用戶端。
- 按一下要從中移出工作負載的節點識別碼。
- 按一下清空,將工作負載移至新的虛擬機器。
**附註:**清空作業完成後,所有工作負載都會移至新的虛擬機器。您無法只將選取的服務移至新節點。
- 登入位於
-
執行下列命令,從叢集中移除現有節點。
# From the bootstrap VM source /opt/wss/<cluster_name>/cp-cluster/cp-cluster.env server_id = <node_ip> # IP of the node being removed # API to remove peer curl -sk \ -H "X-Vault-Token: $VAULT_TOKEN" \ -H "Content-Type: application/json" \ -X POST \ -d '{"server_id":"$server_id"}' \ "$VAULT_ADDRESS/v1/sys/storage/raft/remove-peer" -
驗證叢集和服務的健全狀況。
wso healthcheck wso access check-service-readiness
疑難排解
| 問題 | 原因 | 解決方案 |
|---|---|---|
| 詳細目錄中包含啟動程序 IP | 啟動程序節點 IP 已新增至 cp-cluster.ini。 | 從詳細目錄檔案中移除啟動程序 IP。 |
| 略過部署 | 該節點已完成載入 (雜湊值相符)。 | 使用 -f (--force) 重新執行。 |
| SSH 連線遭拒 | 無法連線至該節點,或尚未設定 SSH。 | 確認網路連線和 SSH 金鑰。 |
| Consul 或 Vault 步驟失敗 | Consul 或 Vault 叢集健全狀況不良。 | 新增節點前,請確認叢集的健全狀況。 |
從叢集中移除 Omnissa Access 節點
沒有專用的 CLI 命令可從控制平面叢集中移除節點。當節點變得無法使用或健全狀況不良時,叢集會自動處理移除作業:
- 約在連續遺失兩次活動訊號後,該節點會停止接收新的工作負載配置。
- 節點上的現有工作負載會重新排程至健全狀況良好的節點。
- 不需要執行手動移除命令。
- 從 cp-cluster.ini 檔案的所有相關區段中移除舊節點的 IP 位址。
- 關閉已移除節點的電源。
**附註:**叢集成員清理作業的執行時間與故障偵測不同:
- Consul 會在 24 至 72 小時內,自動從成員清單中清除非作用中節點。
- Nomad 會在下一個廢棄項目收集週期中移除失效節點。
- 因此,即使已移除的節點不再接收流量,也不再用於排程,該節點仍可能在一段時間內顯示於 Nomad 或 Consul UI 中。
控制平面叢集節點的密碼管理
configuser 和 root 帳戶的預設密碼有效期限為 60 天。您必須在密碼到期之前,變更每個控制平面叢集節點上的密碼。
root 密碼和 configuser 密碼不需要彼此相同,但每種密碼在叢集中的所有節點上都必須相同。例如,所有節點的 root 密碼都必須相同,所有節點的 configuser 密碼也都必須相同。
重設 configuser 或 root 密碼
單一節點,以 root 使用者身分登入或透過 sudo 執行:
passwd configuser
passwd root
從啟動程序節點一次更新所有節點:
export TARGETS='general_compute_linux:general_compute_access_linux'
wso control-plane ansible -- -b -m shell -a "echo 'configuser:NEW_PASSWORD' | chpasswd" "${TARGETS}"
wso control-plane ansible -- -b -m shell -a "echo 'root:NEW_PASSWORD' | chpasswd" "${TARGETS}"
執行之前,請將 NEW_PASSWORD 替換為實際密碼,並將 ${TARGETS} 替換為要更新之節點的 Ansible 詳細目錄群組或主機模式。請勿在已儲存的指令碼或 Shell 歷程記錄中保留該預留位置字串。
**重要:**變更 configuser 密碼後,請在啟動程序節點上的 cp-cluster.ini 中更新為相同的密碼,否則針對叢集執行的 wso CLI 作業將會開始發生驗證失敗。重設密碼後,不需要使作用中的 configuser 工作階段失效。
變更密碼到期期間
60 天的到期期間由每個帳戶的密碼時效欄位控制。
**附註:**如果以 configuser 身分執行,請在命令前加上 sudo。
使用下列命令檢查目前的設定:
chage -l configuser
chage -l root
針對每個帳戶進行變更 (單一節點):
chage -M <days> configuser
chage -M <days> root
-M 會設定密碼保持有效的天數上限;設為 -1 則會停用密碼到期機制 (一般不建議對 root 或服務帳戶停用密碼到期機制)。
復原完全遺忘的 root 密碼
此程序需要透過主控台 (Hypervisor) 存取受影響的虛擬機器,無法透過 SSH 執行,而且一次只能復原一個節點。
-
重新啟動虛擬機器,並在 GRUB 功能表出現時中斷開機程序。
-
反白顯示開機項目,然後按
e進行編輯。 -
找到以
linux(或linux16) 開頭的行,移至該行結尾,然後附加下列內容:rd.break enforcing=0 -
按
Ctrl+X(或F10),使用修改後的參數開機。系統會進入 Dracut 緊急 Shell。 -
以讀寫模式重新掛接根檔案系統,然後使用 chroot 進入該檔案系統:
mount -o remount,rw /sysroot chroot /sysroot -
設定新密碼:
passwd root -
由於此工作階段中的 SELinux 以寬鬆模式執行,請標記檔案系統,以便在下次開機時執行 SELinux 重新標記:
touch /.autorelabel -
結束 chroot,然後重新啟動:
exit reboot由於系統會執行 SELinux 重新標記,因此第一次重新啟動所需的時間會比平常更長。
此頁面對您有幫助嗎?