作者:cz小屁孩865 | 来源:互联网 | 2023-01-31 14:30
我想从我的Kubernetes集群中的命令行运行一次性容器Pod.我正在寻找相当于:
docker run --rm -it centos /bin/bash
有kubectl
同等的吗?
1> Dmitry Minko..:
看起来最简单的方法是:
kubectl run tmp-shell --rm -i --tty --image centos -- /bin/bash
备注:
这将带来一个整体Deployment
命名tmp-shell
.这种情况在您使用时发生kubectl run
.
--rm
Deployment
退出shell时,确保删除此及其所有组件.如果省略--rm
,可以手动删除kubectl delete deploy/tmp-shell
.
如果要从shell中分离并使其能够重新连接,请省略--rm
.然后,您可以kubectl attach $pod-name -c $pod-container -i -t
在退出shell后重新附加:
如果您的shell无法启动,请检查您的群集是否缺少资源(kubectl describe 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.
(灵感来自https://gc-taylor.com/blog/2016/10/31/fire-up-an-interactive-bash-pod-within-a-kubernetes-cluster)