更新时间:2024-09-29 GMT+08:00
登录容器实例
操作场景
如果在使用容器的过程中遇到非预期的问题,您可登录容器进行调试。
约束与限制
同一用户在使用CloudShell组件连接CCE集群或容器时,限制同时打开的实例上限数量为15个。
使用CloudShell登录容器
- CloudShell基于VPCEP实现,在CloudShell中使用kubectl访问集群需要在集群控制节点的安全组(安全组名称:集群名称-cce-control-随机数)中放通5443端口。5443端口默认对所有网段放通,如果您对安全组做过加固,当出现在CloudShell中无法访问集群时,请检查5443端口是否放通了网段。
- 当前仅北京一、北京四、上海一、上海二、广州、贵阳一和乌兰察布一支持使用CloudShell登录容器。
- 登录CCE控制台,单击集群名称进入集群。
- 在左侧选择“工作负载”,单击目标工作负载名称,查看工作负载的实例列表。
- 单击目标实例操作列中的“更多 > 远程登录”。
图1 登录容器
- 在弹出窗口中选择要登录的容器以及命令,然后单击“确定”。
图2 选择登录的容器与命令
- 页面会自动跳转到CloudShell,并初始化启动kubectl,然后自动执行kubectl exec命令登录到容器。
请等待kubectl exec 命令自动执行后再操作,此命令出现需要一段时间 5-10秒。
图3 CloudShell页面
使用kubectl命令登录容器
- 使用kubectl连接集群,详情请参见通过kubectl连接集群。
- 执行以下命令,查看已创建的Pod。
kubectl get pod
示例输出如下:NAME READY STATUS RESTARTS AGE nginx-59d89cb66f-mhljr 1/1 Running 0 11m
- 查询该Pod中的容器名称。
kubectl get po nginx-59d89cb66f-mhljr -o jsonpath='{range .spec.containers[*]}{.name}{end}{"\n"}'
示例输出如下:container-1
- 执行以下命令,登录到nginx-59d89cb66f-mhljr这个Pod中名为container-1的容器。
kubectl exec -it nginx-59d89cb66f-mhljr -c container-1 -- /bin/sh
- 如需退出容器,可执行exit命令。