李锋镝的博客

  • 首页
  • 时间轴
  • 留言
  • 插件
  • 左邻右舍
  • 我的日常
  • 关于我
    • 关于我
    • 另一个网站
  • 知识库
  • 赞助
Destiny
自是人生长恨水长东
  1. 首页
  2. 原创
  3. 正文

解决kubectl exec -it xxxx-service-bfbd45bb9-ktvzj bash -n bit error: exec [POD] [COMMAND] is not supported anymore. Use exec [POD] -- [COMMAND] instead See 'kubectl exec -h' for help and examples

2025年4月22日 89点热度 0人点赞 0条评论

背景

今天执行k8s命令进入容器内的时候遇到一个报错:

kubectl exec -it xxxx-service-bfbd45bb9-ktvzj bash -n bit error: exec [POD] [COMMAND] is not supported anymore. Use exec [POD] -- [COMMAND] instead See 'kubectl exec -h' for help and examples

一开始没仔细看报错,以为是因为太久没有用k8s导致命令敲错了,后来查了一下,发现命令好像没问题,但是就是进不去容器,仔细看了下报错才发现原来是新版本的 kubectl中,命令格式发生变化了,果然,还是太久没用的原因。

错误原因

在新版本的 kubectl 里,kubectl exec 命令的格式有所改变。以前可以直接在 POD 名称之后写要执行的命令,现在需要在 POD 名称之后添加 -- 分隔符,再写要执行的命令。

解决方案

需要在 POD 名称和要执行的命令之间添加 -- 分隔符。下面是修改后的命令:

kubectl exec -it xxxx-service-bfbd45bb9-ktvzj -- bash -n bit

在这个命令里:

  • kubectl exec:用于在 Kubernetes 集群的 Pod 内部执行命令。
  • -it:表示以交互式终端的形式执行命令。
  • xxxx-service-bfbd45bb9-ktvzj:这是要执行命令的 Pod 名称。
  • --:作为分隔符,用于区分 Pod 名称和要执行的命令。
  • bash -n bit:这是要在 Pod 内部执行的命令。

执行修改后的命令,成功进入容器内部。

果然,还是需要经常学习才行,不然k8s都要抛弃你。

除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.lifengdi.com/archives/article/4326

相关文章

  • 记录一次K8s 部署 Sentinel Dashboard 无法通过 Metric 抓取数据问题
  • 记一次spring-cloud-netflix-core引发的内存溢出分析
  • k8s + docker + Jenkins使用Pipeline部署SpringBoot项目时Jenkins错误集锦
  • k8s部署服务到集群中的指定节点
  • docker registry私库镜像删除
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: K8s 异常
最后更新:2025年4月22日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 上一篇
下一篇 >

文章评论

1 2 3 4 5 6 7 8 9 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 57 58 60 61 62 63 64 65 66 67 69 72 74 76 77 78 79 80 81 82 85 86 87 90 92 93 94 95 96 97 98 99
取消回复

COPYRIGHT © 2025 lifengdi.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Dylan

津ICP备2024022503号-3