【赵渝强老师】Pod中的临时容器

在这里插入图片描述
  Pod由一个或者多个容器组成,这里的容器通常指的是运行应用程序的业务容器。但是Pod中除了业务容器外,还有基础容器、初始化容器和临时容器。
  临时容器是一种特殊的容器,它在现有的Pod中临时运行,以便完成用户发起的操作,例如故障排查和性能诊断等。由于临时容器没有端口配置,并且资源分配是不可变的,因此它不适用于构建应用程序。
  视频讲解如下:

Pod中的临时容器

【赵渝强老师】Pod中的临时容器

  使用临时调试容器来进行调试是临时容器的最大用途。因为当Pod中的容器异常退出或者容器镜像不包含调试工具时,例如没有shell时,会导致命令“kubectl exec”无法使用。这时候临时容器对于交互式故障排查很有用。
  下面是Kubernetes官方提供的一个临时容器是示例。
(1)使用镜像“k8s.gcr.io/pause:3.1”创建一个Pod。

kubectl run ephemeral-demo --image=k8s.gcr.io/pause:3.1 --restart=Never

提示:这里使用镜像“k8s.gcr.io/pause:3.1”是因为它不包含任何的调试程序,如:shell。

(2)使用命令“kubectl exec”创建shell进入容器。

kubectl exec -it ephemeral-demo -- sh

提示:由于镜像不包含任何的调试程序,因此将出现下面的错误信息。
OCI runtime exec failed: exec failed:container_linux.go:346: starting container process caused “exec:“sh”: executable file not found in $PATH”: unknown

(3)使用命令“kubectl debug”为容器“ephemeral-demo”添加一个临时容器,以达到调试的目的。

kubectl debug -it ephemeral-demo --image=busybox --target=ephemeral-demo

提示:这里使用busybox的镜像来创建临时容器,Kubernetes将自动启动临时容器的控制台。
Defaulting debug container name to debugger-8xzrl.
If you don’t see a command prompt, try pressing enter.
/ #

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵渝强老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值