如何从Kubernetes中的命令行运行一次性容器(如docker run)?

如何从Kubernetes中的命令行运行一次性容器(如docker run)?,kubernetes,Kubernetes,我想从Kubernetes集群中的命令行运行一个一次性容器。相当于: docker run --rm -it centos /bin/bash 是否有一个kubectl等效物?的kubectl等效物 docker run --rm -it centos /bin/bash 是 注: 这将创建一个名为tmp shell的Pod。如果您没有指定--restart=Never,将创建一个Deploment(信用:Urosh t的答案) --rm确保在外壳退出时删除Pod 如果要从shell分

我想从Kubernetes集群中的命令行运行一个一次性容器。相当于:

docker run --rm -it centos /bin/bash

是否有一个
kubectl
等效物?

kubectl
等效物

docker run --rm -it centos /bin/bash

注:

  • 这将创建一个名为
    tmp shell
    的Pod。如果您没有指定
    --restart=Never
    ,将创建一个Deploment(信用:Urosh t的答案)

  • --rm
    确保在外壳退出时删除Pod

  • 如果要从shell分离并使其能够重新连接,请省略
    --rm
    。然后,您将能够在退出外壳后使用:
    kubectl attach$pod name-c$pod container-i-t
    重新连接

  • 如果shell没有启动,请检查集群是否资源不足(
    kubectl descripe nodes
    )。您可以使用
    --requests
    指定资源请求:

    --requests='': The resource requirement requests for this container.  For example, 'cpu=100m,memory=256Mi'.  Note that server side components may assign requests depending on the server configuration, such as limit ranges.
    

(信用:)

要创建
Pod
而不是
部署,并在退出时将其自身移除,请尝试以下操作:

kubectl run curl-debug --rm -i --tty --restart=Never --image=radial/busyboxplus:curl -- /bin/sh
--restart=Never
标志用于创建
Pod
而不是
部署
对象

此外,此映像重量轻,下载速度快,有利于网络调试


希望这有助于

kubectl运行测试吊舱--generator=run pod/v1--image=busybox--image-pull-policy=IfNotPresent--restart=Never--rm--attach--ping-c5谷歌。com@Dmitry我在哪里可以找到这些信息:
$pod container
?@FelipePereira您可以执行类似于
kubectl description po$pod
的操作,其中将列出所有在pod中运行的容器,其中$pod是部署创建的pod的名称。谢谢!我将答案更新为包含
--restart=Never
kubectl run curl-debug --rm -i --tty --restart=Never --image=radial/busyboxplus:curl -- /bin/sh