acs-plugin-manager是雲助手內建的外掛程式管理工具,通過命令列即可完成外掛程式的查詢、執行、狀態檢查、刪除和測試等全生命週期管理。
使用限制
確保雲助手Agent版本不低於以下版本:
Windows:1.0.0.137
Linux:1.0.2.510
查看或升級 Agent 版本,請參考升級、禁止自動升級雲助手Agent。
運行方式
雲助手外掛程式支援以下兩種方式運行:
通過雲助手控制台運行命令。
使用具有
sudo存取權限的使用者遠端連線ECS執行個體,並在ECS執行個體上直接執行命令(僅支援Linux)。
核心命令參考
查詢外掛程式
查詢線上所有的雲助手外掛程式
sudo acs-plugin-manager --list查詢本地已安裝的雲助手外掛程式
sudo acs-plugin-manager --list --local
輸出樣本
Name Version Publisher OsType Arch PluginType
config_ecs_instance_connect 1.20 aliyun LINUX X64 Once
ecs_tools_test 1.4 aliyun LINUX ALL Persist 輸出欄位說明
參數名 | 說明 |
Name | 外掛程式名稱。 |
Version | 外掛程式版本。 |
Publisher | 外掛程式提供者。 |
OsType | 外掛程式支援的作業系統。可能值:LINUX、WINDOWS或者BOTH(兩者均支援)。 |
Arch | 外掛程式支援的架構。可能值:X64、X86、ARM或ALL(全部支援)。 |
PluginType | 外掛程式類型。可能值:
|
運行外掛程式
運行雲助手外掛程式
預設情況下,此命令會優先執行本地已安裝的外掛程式。如果本地未安裝,或線上存在更新的版本,則會自動從線上下載並執行。
sudo acs-plugin-manager --exec --plugin <plugin name>運行本地已安裝的雲助手外掛程式
使用
--local參數後,將不會檢查線上版本或下載外掛程式,僅在本地尋找並執行。如果本地未安裝,命令會報錯。sudo acs-plugin-manager --exec --local --plugin <plugin name>
運行樣本
從外掛程式包檔案執行外掛程式
acs-plugin-manager --exec --file /root/ecs_tools_test.zip --params "--start,--on" # --file 指定外掛程式包檔案路徑 # --params 指定外掛程式的執行參數,預設用英文逗號分隔多個參數 # --separator 可以指定其他的參數分隔字元,例如 --separator '#'從線上拉取外掛程式執行
acs-plugin-manager --exec --plugin ecs_tools_test --pluginVersion 1.2 --params --start # --plugin 指定外掛程式名稱(必填) # --pluginVersion 指定外掛程式版本號碼,如果不填自動拉取最新的版本 # 會同時從本地和線上按外掛程式名ecs_tools_test查詢外掛程式,如果pluginVersion非空的話外掛程式版本也會作為檢索條件 # 如果本地存在就執行本地外掛程式,否則從線上拉取外掛程式包限制執行本地外掛程式
acs-plugin-manager --exec --local --plugin ecs_tools_test --params --start # --local 限制只從本地已安裝的外掛程式中尋找ecs_tools_test並執行,即使本地沒有也不會從線上拉取
查看外掛程式狀態
查詢已安裝的常駐外掛程式(Persist)的運行狀態。
sudo acs-plugin-manager --status輸出樣本
[
{
"name": "ecs_tools_test",
"status": "PERSIST_RUNNING",
"version": "1.2"
},
{
"name": "ecs_tools_test_1",
"status": "PERSIST_RUNNING",
"version": "1.2"
}
]status欄位顯示外掛程式的目前狀態,PERSIST_RUNNING表示正在運行。
測試外掛程式
--verify命令會將外掛程式檔案解壓到Linux的/usr/local/share/aliyun-assist/plugin/verify_plugin_test或者Windows的C:\ProgramData\aliyun\assist\plugin\verify_plugin_test目錄下,然後執行外掛程式的可執行檔,相當於臨時執行,外掛程式資訊並不會記錄到本地的installed_plugins檔案中,查詢外掛程式列表、查看外掛程式狀態都不會包含該外掛程式的資訊。
運行樣本
acs-plugin-manager --verify --url https://aliyun-client-assist-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/ecs_tools_test/linux/ecs_tools_test_1.2.zip --params --upgrade--verify:表示測試外掛程式,將外掛程式包解壓到verify_plugin_test目錄。
--url:指定外掛程式包的地址,可以是http(s)或者file協議的地址,例如:
linux:
file:///root/assistpluginlinux.zipwindows:
file:///C:/ProgramData/aliyun/assist/2.1.3.282/assistpluginwindows.zip
刪除外掛程式
sudo acs-plugin-manager --remove --plugin <plugin name>刪除外掛程式時,acs-plugin-manager 的行為因外掛程式類型而異:
一次性外掛程式(Once):直接刪除外掛程式檔案目錄。
常駐外掛程式(Persist):會先嘗試調用外掛程式的
--stop和--uninstall介面以實現優雅卸載,成功後才會刪除檔案目錄。
運行樣本
acs-plugin-manager --remove --plugin ecs_tools_test
# --plugin 指定要刪除的外掛程式名稱
# 對於一次性外掛程式:直接刪除目錄 /usr/local/share/aliyun-assist/plugin/<plugin-name>
# 對於常駐外掛程式;先依次調用外掛程式的--stop、--uninstall介面。如果--uninstall傳回值為0就繼續刪除外掛程式目錄,否則終止刪除外掛程式的操作
# 刪除外掛程式會將該外掛程式的整個目錄刪除,包括裡面的所有版本子目錄擷取協助
查看acs-plugin-manager支援的所有命令和參數的完整列表。
sudo acs-plugin-manager --helpFlags:
--help,-h --help, 列印此協助頁
--version,-v --version, 列印版本號碼
--local,-L
--plugin,-P 通過名稱指定外掛程式
--pluginId 通過外掛程式id指定外掛程式
--pluginVersion,-n 指定外掛程式版本號碼
--params,-p 設定外掛程式的運行參數,通過--separator設定參數的分隔字元
--paramsV2 設定外掛程式的運行參數,不使用分隔字元分割
--url,-u 指定外掛程式地址
--separator,-s 指定外掛程式參數的分隔字元,預設為逗號
--file,-F 指定外掛程式檔案
--verbose,-V --verbose, 列印更多的日誌
--list,-l --list, 列出所有外掛程式
--list --local, 只列出本地已安裝的外掛程式
--verify,-f --verify --url <> --params <>, 驗證外掛程式
--status,-S --status, 列印所有外掛程式的狀態
--exec,-e --exec --plugin <> --params <>, 執行外掛程式,優先從線上尋找外掛程式
--exec --local --plugin <> --params <>, 僅從本地尋找執行外掛程式
--exec --file <> --params <>, 從外掛程式包檔案執行外掛程式
--fetchTimeout 允許擷取外掛程式過程消耗的最長時間,單位為秒。預設為20秒。設為0表示不限擷取時間
--timeout 允許外掛程式啟動並執行最長時間,單位為秒。預設使用外掛程式包中定義的逾時時間值。設為0表示不限已耗用時間
--remove,-r --remove --plugin <>, 移除本地外掛程式,會刪除掉該外掛程式的目錄檔案常見雲助手外掛程式樣本
配置kdump
kdump是Linux核心的一個功能,可在發生核心錯誤時建立核心轉儲。通過ecs_dump_config外掛程式,開啟、關閉或查詢dump功能。
開啟dump
sudo acs-plugin-manager --exec --plugin=ecs_dump_config --params --enable關閉dump
sudo acs-plugin-manager --exec --plugin=ecs_dump_config --params --disable查詢dump狀態
sudo acs-plugin-manager --exec --plugin=ecs_dump_config --params --status
自動設定彈性網卡
一般情況下添加彈性網卡後,您需要手動設定所添加網卡的網路設定。通過multi-nic-util外掛程式可以自動設定網卡的相關網路設定。
sudo acs-plugin-manager --exec --plugin=multi-nic-util配置IPv6
通過ecs-utils-ipv6外掛程式為已指派IPv6地址的ECS執行個體一鍵配置IPv6地址,或者為沒有分配IPv6地址的ECS執行個體一鍵清理IPv6配置。ecs-utils-ipv6外掛程式支援開啟、關閉、自動設定(預設)、手動設定IPv6。ecs-utils-ipv6外掛程式整合ecs-util-ipv6工具,更多資訊,請參見IPv6通訊。
開啟IPv6
sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6 --params --enable關閉IPv6
sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6 --params --disable自動設定IPv6
sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6手動設定IPv6
sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6 --params --static,<dev>,<ip6s>,<prefix_len>,<gw6>樣本如下所示。
sudo acs-plugin-manager --exec --plugin=ecs-utils-ipv6 --params --static,eth0,fe80::216:3eff:****:****,64,2408:400a:108:8300:ffff:ffff:****:****
配置網卡多隊列
多隊列指執行個體規格支援的最大網卡隊列數,單個ECS執行個體vCPU處理網路中斷存在效能瓶頸時,通過網卡多隊列功能可以將執行個體中的網路中斷分散給不同的CPU處理。通過執行ethtool -l ethname命令查看網卡當前隊列數及支援的隊列數。
通過ecs_tools_multiqueue外掛程式可以將所有網卡的隊列數設定為支援的最大值。
sudo acs-plugin-manager --exec --plugin=ecs_tools_multiqueueIntel超執行緒HT管理
在裸金屬執行個體規格中,部分業務情境下需要關閉Intel的超執行緒,您可以通過ecs_disable_intel_hyper-threading外掛程式來實現。
外掛程式實現原理是在grub檔案中增加核心參數nr_cpus=執行個體規格vCPU/2。參數nr_cpus會限定核心支援的最大CPU數,從而實現關閉HT的效果。
增加核心參數後,需重啟執行個體才會生效。外掛程式執行後,輸出資訊中會有提示您需重啟執行個體的相關資訊。
此外掛程式不支援在非裸金屬執行個體規格上關閉HT。在非裸金屬規格執行個體上執行此外掛程式後,會提示該執行個體非裸金屬執行個體規格並退出。
sudo acs-plugin-manager --exec --plugin=ecs_disable_intel_hyper-threading管理安全補丁
ECS執行個體上的安全性漏洞需要及時處理並修複,否則將帶來嚴重的安全隱患。通過補丁管理外掛程式patch_manager,您可以掃描和安裝ECS執行個體內部缺失的安全補丁。
掃描安全補丁
sudo acs-plugin-manager --exec --plugin=patch_manager --params --operation,scan安裝安全補丁,系統根據需要自動重啟ECS執行個體
sudo acs-plugin-manager --exec --plugin=patch_manager --params --operation,install,--reboot,ifneed只安裝安全補丁,不重啟ECS執行個體
sudo acs-plugin-manager --exec --plugin=patch_manager --params --operation,install,--reboot,no