更新时间:2024-09-29 GMT+08:00

登录容器实例

操作场景

如果在使用容器的过程中遇到非预期的问题,您可登录容器进行调试。

约束与限制

同一用户在使用CloudShell组件连接CCE集群或容器时,限制同时打开的实例上限数量为15个。

使用CloudShell登录容器

  • CloudShell基于VPCEP实现,在CloudShell中使用kubectl访问集群需要在集群控制节点的安全组(安全组名称:集群名称-cce-control-随机数)中放通5443端口。5443端口默认对所有网段放通,如果您对安全组做过加固,当出现在CloudShell中无法访问集群时,请检查5443端口是否放通了网段。
  • 当前仅北京一、北京四、上海一、上海二、广州、贵阳一和乌兰察布一支持使用CloudShell登录容器。
  1. 登录CCE控制台,单击集群名称进入集群。
  2. 在左侧选择“工作负载”,单击目标工作负载名称,查看工作负载的实例列表。
  3. 单击目标实例操作列中的“更多 > 远程登录”

    图1 登录容器

  4. 在弹出窗口中选择要登录的容器以及命令,然后单击“确定”

    图2 选择登录的容器与命令

  5. 页面会自动跳转到CloudShell,并初始化启动kubectl,然后自动执行kubectl exec命令登录到容器。

    请等待kubectl exec 命令自动执行后再操作,此命令出现需要一段时间 5-10秒。

    图3 CloudShell页面

使用kubectl命令登录容器

  1. 使用kubectl连接集群,详情请参见通过kubectl连接集群
  2. 执行以下命令,查看已创建的Pod。

    kubectl get pod
    示例输出如下:
    NAME                               READY   STATUS    RESTARTS       AGE
    nginx-59d89cb66f-mhljr             1/1     Running   0              11m

  3. 查询该Pod中的容器名称。

    kubectl get po nginx-59d89cb66f-mhljr -o jsonpath='{range .spec.containers[*]}{.name}{end}{"\n"}'
    示例输出如下:
    container-1

  4. 执行以下命令,登录到nginx-59d89cb66f-mhljr这个Pod中名为container-1的容器。

    kubectl exec -it nginx-59d89cb66f-mhljr -c container-1 -- /bin/sh

  5. 如需退出容器,可执行exit命令。