Kubernetes 中 docker exec bash 的 kubectl 等价物是什么?

2024-03-21

我使用以下命令成功部署了 Kubernetes 应用程序kubectl apply -f deployment.yaml。 当我尝试访问 URL 端点时,我得到了一个nginx 404 Not Found错误页面。

我的下一步是开一个bash运行我的应用程序的 docker 实例上的 shell。我如何在 Kubernetes 中执行此操作?

如何 ssh 到运行我的应用程序的 docker 容器,或 docker exec bash 到我部署到 Kubernetes 的应用程序?

如果我在 docker 中运行,我会运行docker ps找到容器ID然后运行docker exec -t ### bash在我的容器上打开一个 shell 来四处查看以解决某些问题无法正常工作的原因。

在 Kubernetes 中执行此操作的等效方法是什么?

寻找解决方案

我搜索并发现this URL https://kubernetes.io/docs/tasks/debug-application-cluster/get-shell-running-container/,它说明了如何在您的应用程序上获取 shell。 该 URL 的摘要是:

kubectl apply -f https://k8s.io/examples/application/shell-demo.yaml
kubectl get pod shell-demo
kubectl exec --stdin --tty shell-demo -- /bin/bash

但是当我尝试等效命令时,出现错误,如下所示:

kubectl get pods --namespace my-app-namespace
NAME                               READY   STATUS    RESTARTS   AGE
dpl-my-app-787bc5b7d-4ftkb         1/1     Running   0           2h

然后我尝试:

kubectl exec --stdin --tty my-app-namespace -- /bin/bash
Error from server (NotFound): pods "my-app-namespace" not found
exit status 1

我认为发生这种情况是因为我试图执行到命名空间而不是 Pod,所以我也尝试了dpl-my-app-...(见下文)但遇到了同样的错误。

kubectl exec --stdin --tty dpl-my-app-787bc5b7d-4ftkb -- /bin/bash
Error from server (NotFound): pods "dpl-my-app-787bc5b7d-4ftkb" not found
exit status 1

我需要什么命令来获取 pod 实例,以便kubectl exec将工作?


正如@David Maze 正确指出的:

Your kubectl get pods命令有一个--namespace选项;你需要在kubectl exec命令。 – 大卫·梅兹 12 小时前

如果您已经创建了您的Deployment: dpl-my-app在命名空间中:my-app-namespace您还应该指定--namespace/-n所有命令中的参数。

附注!

有一个可以更改名称空间的工具,称为:kubens https://github.com/ahmetb/kubectx/blob/master/kubens


使用以下命令:

  • kubectl exec --stdin --tty my-app-namespace -- /bin/bash

您已正确识别了您尝试执行的问题namespace但不进入Pod

使用以下命令:

  • kubectl exec --stdin --tty dpl-my-app-787bc5b7d-4ftkb -- /bin/bash

你试图执行一个Pod named dpl-my-app-787bc5b7d-4ftkb但在一个default命名空间。不在一个namespace your Pod正在居住。

执行到你的Pod在特定的namespace你应该使用以下命令:

  • kubectl exec --stdin --tty --namespace my-app-namespace dpl-my-app-787bc5b7d-4ftkb -- /bin/bash

请注意--namespace是在之前--其中命令Pod应该放置(如-- /bin/bash).


其他资源:

  • Kubernetes.io:文档:概念:概述:使用对象:命名空间 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
  • Kubernetes.io:文档:任务:调试应用程序集群:获取运行容器的 shell https://kubernetes.io/docs/tasks/debug-application-cluster/get-shell-running-container/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes 中 docker exec bash 的 kubectl 等价物是什么? 的相关文章

随机推荐

  • AWS Step Functions 是否登录 CloudWatch

    我想知道 AWS 步骤函数执行的输出是否记录在 CloudWatch 日志组中 我是not讨论由 step 函数调用的 lambda 函数的输出 我对状态机本身的输出感兴趣 我问这个问题是因为我们通常将所有日志集中在 loggly 中 以便
  • 是否可以将代码隐藏分成多个部分文件?

    我有一个带有 aspx cs 代码隐藏的 aspx Web 表单 隐藏的代码有近 2000 行长 而且已经到了轻松导航的唯一方法就是在各部分之间放置大量空格 缩小以便我可以看到代码的物理外观 并且然后放大我要编辑的地方 换句话说 这是一个很
  • 使用 Qt Designer 调整 Qt 拆分器布局大小行为

    我在 Qt 中通过拖放制作的视图中存在尺寸问题 让我从一张图片开始来帮助我解释 这是我的表单的主窗口 发生的情况是 我们有 4 个选项卡小部件 左侧选项卡小部件有一个到 2 个中间小部件的水平分割器 2 个中间小部件有一个垂直分离器 左侧和
  • 如何检测请求是否被中止?

    我正在提出请求 然后立即中止 var x get url function d e xhr alert d x abort 问题是它执行success函数并返回空数据 这里的例子 http jsfiddle net e5NBT 有没有 jQ
  • 将 ASM 转换为 C(不是逆向工程)

    我用谷歌搜索 发现数量惊人的轻率回复 基本上都是在嘲笑提出这样问题的提问者 Microchip 免费提供一些源代码 我不想将其发布在这里 以防万一 基本上 谷歌 AN937 单击第一个链接 其中有一个 源代码 链接及其压缩文件 它在 ASM
  • 使 Swift 并发中的任务串行运行

    我有一个基于文档的应用程序 它使用结构作为其主要数据 模型 由于模型是 的子类 的属性NSDocument需要从主线程访问它 到目前为止一切都很好 但对数据的某些操作可能需要相当长的时间 我想为用户提供一个进度条 这就是问题开始的地方 特别
  • 使用 Flask 蓝图,如果指定了子域,如何修复 url_for 的损坏?

    在烧瓶蓝图中 我有 frontend Blueprint frontend name 我的索引函数的路径是 frontend route def index code 这工作正常 但是 我试图向路由添加一个子域 如下所示 frontend
  • 合并两个列表C++

    我想合并两个列表 以便合并队列中仅存在一个公共元素条目 std list
  • 检测移动邮件客户端的标准方法?

    这个问题类似于 基于 http 请求在 Web 应用程序中检测移动浏览器的标准方法 https stackoverflow com questions 142273 standard way to detect mobile browser
  • HTTP_USER_AGENT Java/1.6.0_17 生产网站上的奇怪异常

    今天 我们的生产网站上收到了一些奇怪的异常情况 它们都有以下 HTTP USER AGENT 字符串 Java 1 6 0 17 我查了一下UserAgentString com http www useragentstring com i
  • jQuery 数据表过滤具有特定类的行

    我正在开发一个 jQuery Datatable 项目 我需要根据特定的行类过滤数据 我根据条件在创建行时向行添加类 我试图找出一种方法 让我的用户单击一个按钮 该按钮将应用一个仅显示包含特定类的行的过滤器 我尝试了几种不同的解决方案 但似
  • 如何在 Hadoop Hive 中获取给定时间戳的一周第一天的日期?

    除了编写自定义 UDF 来支持此问题之外 是否还有任何已知的方法可以实现此目的 我目前使用的是 Hive 0 13 从 Hive 1 2 开始 你还可以这样做 select next day date sub 2019 01 01 7 MO
  • Jupyter Notebook:对文件的访问被拒绝

    我正在尝试在 Ubuntu 21 10 上运行 Jupyter 笔记本 我已经安装了 python jupyter Notebook 以及所有各种先决条件 我添加了export PATH PATH local bin to my bashr
  • 测试:如何在两个连续的 Promise/run.laters 之间断言?如何跳过测试中的“run.later”等待?

    这是一个简单的组件 App FooBarComponent Ember Component extend tagName button status Ready revertStatusPeriodMs 2000 click functio
  • GnuPlot 中带零的对数 y

    我的目标是在对数刻度上显示 0 值 略低于 1 我设法绘制了自己的简单直方图 with boxes 具有对数 Y 刻度 我的 Y 值是非负整数 最大为 25000 我无法区分 0 和 1 值 因为 Y 刻度从 1 开始 这在数学上是正确的
  • 如何使 Windows DNS 和 WINS 设置保留在 Azure VM 中?

    我在 Azure VM 中设置了一个域控制器 并且其他几个服务器也设置为 VM 当我设置服务器虚拟机时 我将 DNS 和 WINS 配置为指向 DC 的 IP 地址并将它们加入域 但是 这些设置在关闭 虚拟机被释放 后将无法保留 当虚拟机重
  • sched_setscheduler是针对所有线程还是主线程?

    我有以下来源 喜欢将 SCHED RR 优先级设置为 90 int main int argc char argv const char sched policy SCHED OTHER SCHED FIFO SCHED RR SCHED
  • 如何将后端和前端放在一起 - 从 fastapi 后端端点返回 React 前端

    首先 我只想说这是我的第一个 Web 应用程序项目 在过去的几天里 我一直在努力寻找如何将前端和后端放在一起的答案 我有很多问题 但我想回答的主要问题是如何从后端端点返回我的前端 最终产品 我的理解是这样的 如有错误请指正 前端代码由客户端
  • Ada:具有可变大小数组属性的对象

    我想在描述二维离散空间的包内创建一个标记类型 其大小在运行时确定 上下文 实施生命的游戏 https en wikipedia org wiki Conway 27s Game of Life 我发现的第一种方法是通用性 generic S
  • Kubernetes 中 docker exec bash 的 kubectl 等价物是什么?

    我使用以下命令成功部署了 Kubernetes 应用程序kubectl apply f deployment yaml 当我尝试访问 URL 端点时 我得到了一个nginx 404 Not Found错误页面 我的下一步是开一个bash运行