為了減少潛在的安全風險,ContainerOS原則上不支援任何使用者直接登入到系統進行一系列可能無法追溯的操作。若您仍然有登入執行個體進行營運操作的需求,ContainerOS提供了專用的營運容器以供問題排查、軟體包安裝等非日常的營運需求。本文介紹ContainerOS支援的常見營運容器操作,包括登入、啟動、停止、重啟、狀態查詢等。
ContainerOS節點營運方式介紹
|
相較於宿主機環境,營運容器擁有更多的軟體包,也支援通過包管理軟體YUM安裝需要的軟體包。在營運容器中,您可以查看系統進程資訊、網路資訊、系統配置等。此外,營運容器裡還提供了專用的命令,用於從容器中進入主機,效果等同於直接通過Workbench、SSH或VNC串連執行個體。
|
|
自ContainerOS 3.5起,ContainerOS刪除了宿主機環境的Shell。您可參見以下說明選擇營運ContainerOS節點的方式。
|
營運方式
|
ContainerOS 3.5 及以上
|
ContainerOS 3.5 以下
|
|
登入營運容器
|
|
-
已綁定 SSH 金鑰對。
-
通過Workbench(僅免密)登入宿主機。
-
執行sudo lifseacli container start啟動營運容器。
-
通過SSH登入。
宿主機預設不開啟 sshd,即預設關閉SSH服務。
|
|
登入宿主機
|
登入營運容器後執行sudo superman命令
|
|
您也可以通過kubectl debug命令營運ContainerOS。
ContainerOS 3.5 及以上的營運容器登入方式
|
分類
|
Workbench(僅免密)登入
|
VNC 登入
|
|
前提條件
|
不涉及。
營運容器中已安裝ECS雲助手,無需手動安裝。
|
VNC登入需通過密碼認證,請先通過Workbench(僅免密)登入的方式設定營運容器登入密碼。
|
|
操作步驟
|
-
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
-
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
-
在節點列表的操作列,選擇更多 > Workbench 遠端連線。
-
按照頁面提示,通過免密串連的方式登入。
|
-
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
-
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
-
在節點列表的操作列,選擇更多 > VNC 遠端連線,按照頁面提示完成身份認證。
|
ContainerOS 3.5 以下的登入方式
登入宿主機
|
分類
|
Workbench(僅免密)登入
|
VNC 登入
|
|
前提條件
|
已確保節點網路可訪問雲助手服務。
|
VNC登入需通過密碼認證,請先通過Workbench(僅免密)登入的方式設定營運容器登入密碼。
|
|
操作步驟
|
-
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
-
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
-
在節點列表的操作列,選擇更多 > Workbench 遠端連線。
|
-
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
-
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
-
在節點列表的操作列,選擇更多 > VNC 遠端連線,按照頁面提示完成身份認證。
|
登入營運容器
準備工作
-
-
已安裝ECS雲助手,安裝方式請參見安裝雲助手Agent。
-
安全性群組已允許存取22連接埠,請參見管理安全性群組規則。
-
使用免密登入模式進行ECS執行個體操作。
在通過會話管理遠端連線頁面,單擊免密登入頁簽,確認會話管理已開啟(全地區),開關按鈕處於綠色開啟狀態。
進入主機環境
-
登入ECS管理主控台,進入雲助手執行命令面板。具體操作,請參見建立/執行命令。
-
在ECS雲助手,執行以下命令,啟動營運容器。
sudo lifseacli container start
預期輸出如下。
Downloading docker image...
Successfully downloaded docker image
Successfully start admin container!
預期輸出表明,通過雲助手成功啟動了營運容器。
-
執行以下命令,在支援SSH命令的終端中,通過指定的私密金鑰登入到營運容器。
ssh -i <ssh-private-key.pem> admin@<instance-ip>
成功登入營運容器後,主機的根檔案系統已被掛載到營運容器的/.lifsea/rootfs目錄(唯讀掛載),供您尋找所需的系統資訊、配置等。
$ssh -i mainxt.pem admin@47.99.45.171
Welcome to LifseaOS maintenance container!
This container is based on Alibaba Cloud Linux 3, therefore most things
should behave the same as a Alibaba Cloud Linux 3 VM or container.
Some common tools are pre-installed for debug purpose and you can install
any tools you want through yum.
Also you can access the LifseaOS host root filesystem (see /.lifsea/rootfs)
within the container.
If you want to place yourself in a real LifseaOS host environment, a tool
named "superman" (`sudo superman`) is provided. Once run, you will go
inside the LifseaOS host's rootfs with a root shell.
Enjoy!
[admin@iZbp1inxxxxtziZ ~]$
-
執行以下命令,從營運容器登入到主機環境中。
-
執行ls命令,查詢可使用的系統命令。
[root@xxxs9Z /]# ls
bin boot dev etc home lib lib64 media mnt opt ostree proc root run sbin srv sys sysroot tmp usr var
在主機環境中,可用的系統命令有限。
營運容器相關操作
進入主機環境後,執行exit命令可退出主機環境,再次執行exit命令可退出營運容器。此時,營運容器仍然存在並處於運行狀態,您可再次通過SSH登入,或者通過命令停止、重啟、銷毀營運容器。
|
操作
|
說明
|
|
停止營運容器
|
sudo lifseacli container stop
|
|
重啟營運容器
|
若您在啟動營運容器之後,重新綁定或解除綁定了金鑰組,則需要重啟營運容器,否則綁定或解除綁定金鑰組無法生效。 sudo lifseacli container restart
|
|
銷毀營運容器
|
sudo lifseacli container rm
重要
銷毀營運容器之後,您此前在容器中安裝的軟體、儲存的檔案也會隨之一併銷毀。若您重新啟動一個營運容器,便是一個全新的環境,請盡量不要在營運容器中儲存關鍵資料。
|
|
查詢營運容器狀態
|
sudo lifseacli container status
|
常見問題
登入出錯,提示UNPROTECTED PRIVATE KEY FILE!錯誤怎麼辦?
問題現象
報錯如下所示。
$ssh -i manxi.pem admin@47
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'manxi.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "manxi.pem": bad permissions
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
問題原因
私密金鑰檔案的許可權太大。
解決方案
執行chmod 400 <ssh-private-key.pem>命令,將私密金鑰檔案的許可權修改為400。其中,<ssh-private-key.pem>需要替換為您的私密金鑰檔案名稱。