ContainerOS運維容器使用指導(dǎo)
為了減少潛在的安全風(fēng)險,ContainerOS原則上不支持任何用戶直接登錄到系統(tǒng)進行一系列可能無法追溯的操作,也不提供SSH登錄功能。若您仍然有登錄實例進行運維操作的需求,ContainerOS提供了專用的運維容器以滿足您問題排查、軟件包安裝等非日常的運維需求。本文介紹ContainerOS支持的常見運維容器操作,包括登錄、啟動、停止、重啟、狀態(tài)查詢等。
相較于主機環(huán)境,運維容器擁有更多的軟件包,也支持通過包管理軟件YUM安裝需要的軟件包。在運維容器中,您可以查看系統(tǒng)進程信息、網(wǎng)絡(luò)信息、系統(tǒng)配置等。此外,運維容器里還提供了專用的命令,用于從容器中進入主機,效果等同于直接通過Workbench來登錄實例。
前提條件
實例或集群的登錄類型為密鑰對。運維容器僅支持密鑰登錄,這需要您在創(chuàng)建實例或集群時,選擇登錄憑證為密鑰對。若創(chuàng)建時未選擇密鑰對登錄,可以在實例創(chuàng)建完成后,為實例綁定一對密鑰。關(guān)于綁定密鑰的具體操作,請參見綁定SSH密鑰對。
已安裝ECS云助手客戶端。管理運維容器需要通過ECS云助手調(diào)用專用的API工具來實現(xiàn),關(guān)于ECS云助手的安裝和使用方法,請參見安裝云助手Agent和云助手概述。
安全組已開放22端口,否則無法通過Workbench正常登錄。關(guān)于開放安全組端口的具體操作,請參見安全組概述。
使用免密登錄模式進行ECS實例操作。
進入主機環(huán)境
登錄ECS管理控制臺,進入云助手執(zhí)行命令面板。具體操作,請參見創(chuàng)建并執(zhí)行命令。
在ECS云助手,執(zhí)行以下命令,啟動運維容器。
sudo lifseacli container start
預(yù)期輸出:
預(yù)期輸出表明,通過云助手成功啟動了運維容器。
執(zhí)行以下命令,在支持SSH命令的終端中,通過指定的私鑰登錄到運維容器。
說明將
<ssh-private-key.pem>
替換為您綁定到實例的密鑰對中的私鑰;<instance-ip>
替換為實例IP。您也可以使用admin通過Workbench直接登錄,密鑰為您綁定到實例的密鑰對中的私鑰。請確保您的實例已開放22端口。
ssh -i <ssh-private-key.pem> admin@<instance-ip>
成功登錄運維容器的界面如下所示。主機的根文件系統(tǒng)已被掛載到運維容器的
/.lifsea/rootfs
目錄(只讀掛載),供您查找所需的系統(tǒng)信息、配置等。執(zhí)行以下命令,從運維容器登錄到主機環(huán)境中。
sudo superman
執(zhí)行
ls
命令,查詢可使用的系統(tǒng)命令。預(yù)期輸出:
在主機環(huán)境中,可用的系統(tǒng)命令有限。
其他操作
進入主機環(huán)境后,執(zhí)行exit
命令可退出主機環(huán)境,再次執(zhí)行exit
命令可退出運維容器。此時,運維容器仍然存在并處于運行狀態(tài),您可再次通過SSH登入,或者通過命令停止、重啟、銷毀運維容器。
停止運維容器
sudo lifseacli container stop
重啟運維容器
若您在啟動運維容器之后,重新綁定或解綁了密鑰對,則需要重啟運維容器,否則綁定或解綁密鑰對無法生效。
sudo lifseacli container restart
銷毀運維容器
sudo lifseacli container rm
銷毀運維容器之后,您此前在容器中安裝的軟件、保存的文件也會隨之一并銷毀。若您重新啟動一個運維容器,便是一個全新的環(huán)境,請盡量不要在運維容器中保存關(guān)鍵數(shù)據(jù)。
查詢運維容器狀態(tài)
sudo lifseacli container status
常見問題
登錄出錯,提示UNPROTECTED PRIVATE KEY FILE!
錯誤怎么辦?
問題現(xiàn)象
報錯如下圖所示。
問題原因
私鑰文件的權(quán)限太大。
解決方案
執(zhí)行chmod 400 <ssh-private-key.pem>
命令,將私鑰文件的權(quán)限修改為400。其中,<ssh-private-key.pem>
需要替換為您的私鑰文件名。