运维ContainerOS节点

为了减少潜在的安全风险,ContainerOS原则上不支持任何用户直接登录到系统进行一系列可能无法追溯的操作。若您仍然有登录实例进行运维操作的需求,ContainerOS提供了专用的运维容器以供问题排查、软件包安装等非日常的运维需求。本文介绍ContainerOS支持的常见运维容器操作,包括登录、启动、停止、重启、状态查询等。

本文仅面向非智能托管模式下的节点。

ContainerOS节点运维方式介绍

相较于宿主机环境,运维容器拥有更多的软件包,也支持通过包管理软件YUM安装需要的软件包。在运维容器中,您可以查看系统进程信息、网络信息、系统配置等。此外,运维容器里还提供了专用的命令,用于从容器中进入主机,效果等同于直接通过Workbench、SSHVNC连接实例。

image

ContainerOS 3.5起,ContainerOS删除了宿主机环境的Shell。您可参见以下说明选择运维ContainerOS节点的方式。

运维方式

ContainerOS 3.5 及以上

ContainerOS 3.5 以下

登录运维容器

  • Workbench(仅免密)登录

  • VNC 登录

  1. 已绑定 SSH 密钥对。

    创建节点池时需配置登录凭证为密钥对,请参见创建和管理节点池

    针对存量节点池也可以为已有实例绑定密钥对,请参见绑定SSH密钥对

  2. 通过Workbench(仅免密)登录宿主机。

  3. 执行sudo lifseacli container start启动运维容器。

  4. 通过SSH登录。

宿主机默认不开启 sshd,即默认关闭SSH服务。

登录宿主机

登录运维容器后执行sudo superman命令

  • Workbench(仅免密)登录

  • VNC 登录

您也可以通过kubectl debug命令运维ContainerOS。

ContainerOS 3.5 及以上的运维容器登录方式

分类

Workbench(仅免密)登录

VNC 登录

前提条件

不涉及。

运维容器中已安装ECS云助手,无需手动安装。

VNC登录需通过密码认证,请先通过Workbench(仅免密)登录的方式设置运维容器登录密码。

操作步骤

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点

  3. 在节点列表的操作列,选择更多 > Workbench 远程连接

  4. 按照页面提示,通过免密连接的方式登录。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点

  3. 在节点列表的操作列,选择更多 > VNC 远程连接,按照页面提示完成身份认证。

ContainerOS 3.5 以下的登录方式

登录宿主机

分类

Workbench(仅免密)登录

VNC 登录

前提条件

已确保节点网络可访问云助手服务。

VNC登录需通过密码认证,请先通过Workbench(仅免密)登录的方式设置运维容器登录密码。

操作步骤

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点

  3. 在节点列表的操作列,选择更多 > Workbench 远程连接

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点

  3. 在节点列表的操作列,选择更多 > VNC 远程连接,按照页面提示完成身份认证。

登录运维容器

准备工作

进入主机环境

  1. 登录ECS管理控制台,进入云助手执行命令面板。具体操作,请参见创建并执行命令

  2. ECS云助手,执行以下命令,启动运维容器。

    sudo lifseacli container start

    预期输出:启动运维容器.png

    预期输出表明,通过云助手成功启动了运维容器。

  3. 执行以下命令,在支持SSH命令的终端中,通过指定的私钥登录到运维容器。

    说明
    • <ssh-private-key.pem>替换为您绑定到实例的密钥对中的私钥;<instance-ip>替换为实例IP。

    • 您也可以使用admin通过Workbench直接登录,密钥为您绑定到实例的密钥对中的私钥。请确保您的实例已开放22端口。

    ssh -i <ssh-private-key.pem> admin@<instance-ip>

    成功登录运维容器的界面如下所示。主机的根文件系统已被挂载到运维容器的/.lifsea/rootfs目录(只读挂载),供您查找所需的系统信息、配置等。

    登录运维容器.png

  4. 执行以下命令,从运维容器登录到主机环境中。

    sudo superman
  5. 执行ls命令,查询可使用的系统命令。

    预期输出:进入目录.png

    在主机环境中,可用的系统命令有限。

运维容器相关操作

进入主机环境后,执行exit命令可退出主机环境,再次执行exit命令可退出运维容器。此时,运维容器仍然存在并处于运行状态,您可再次通过SSH登入,或者通过命令停止、重启、销毁运维容器。

操作

说明

停止运维容器

sudo lifseacli container stop

重启运维容器

若您在启动运维容器之后,重新绑定或解绑了密钥对,则需要重启运维容器,否则绑定或解绑密钥对无法生效。

sudo lifseacli container restart

销毁运维容器

sudo lifseacli container rm
重要

销毁运维容器之后,您此前在容器中安装的软件、保存的文件也会随之一并销毁。若您重新启动一个运维容器,便是一个全新的环境,请尽量不要在运维容器中保存关键数据。

查询运维容器状态

sudo lifseacli container status

常见问题

登录出错,提示UNPROTECTED PRIVATE KEY FILE!错误怎么办?

问题现象

报错如下图所示。

FAQ.png

问题原因

私钥文件的权限太大。

解决方案

执行chmod 400 <ssh-private-key.pem>命令,将私钥文件的权限修改为400。其中,<ssh-private-key.pem>需要替换为您的私钥文件名。

相关文档

ContainerOS镜像发布记录