kubernetes - Kubernetes 将 pod 修改复制到其他 pod
问题描述
我有一个带有 3 个节点的 k8s 集群。使用 kubectl 命令,我进入一个 pod shell 并进行一些文件编辑:
kubectl exec --stdin --tty <pod-name> -- /bin/bash
在这一点上,我有一个正确编辑的 pod 和其他 2 个带有旧文件的副本。我的问题是:有一个 kubectl 推荐,从特定的 pod 开始,覆盖集群中的当前副本以创建 n 等于 pod?
希望清楚
非常感谢曼努埃尔
解决方案
您可以使用名为kubectl-tmux-exec的 kubectl 插件。
关于如何安装和使用这个插件的所有信息都可以在 GitHub 上找到:predictiveray/kubectl-tmux-exec。
如如何安装依赖项文档中所述。
该插件需要以下程序:
- gnu-getopt(1)
- tmux(1)
我创建了一个简单的示例来说明它是如何工作的。
假设我有一个web
Deployment
并且想要sample-file
在所有 (3) 个副本中创建一个文件。
$ kubectl get deployment,pods --show-labels
NAME READY UP-TO-DATE AVAILABLE AGE LABELS
deployment.apps/web 3/3 3 3 19m app=web
NAME READY STATUS RESTARTS AGE LABELS
pod/web-96d5df5c8-5gn8x 1/1 Running 0 19m app=web,pod-template-hash=96d5df5c8
pod/web-96d5df5c8-95r4c 1/1 Running 0 19m app=web,pod-template-hash=96d5df5c8
pod/web-96d5df5c8-wc9k5 1/1 Running 0 19m app=web,pod-template-hash=96d5df5c8
我已经kubectl-tmux_exec
安装了插件,所以我可以使用它:
$ kubectl plugin list
The following compatible plugins are available:
/usr/local/bin/kubectl-tmux_exec
$ kubectl tmux-exec -l app=web bash
运行上述命令后,会打开 Tmux,我们可以同时修改多个 Pod:
推荐阅读
- xcode - 在 macOS Catalina 上使用运行 Canvas 的 Xcode 11 时出现问题
- python - 如何通过 Kivy 中另一个页面的按钮清除文本输入?
- c++ - 从文件重载运算符中读取一个单词 >>
- java - 如何在特定行数 xsl-fo 1.0 后打破表格?
- ios - 我应该如何在 React Native 中像 SplitviewController 一样设计?
- javascript - 使用 selenium webdriver 在 IE11 中右键/上下文单击无法正常工作
- python - 无法提取所有href文本Python selenium
- java - 在 XML Spring 配置中将 PersistenceContext 设置为 EXTENDED
- c# - 带或不带参数调用的 WebMethod
- c++ - 具有虚拟基类的可变类方法