【问题标题】:Kubernetes replicate pod modification to other podsKubernetes 将 pod 修改复制到其他 pod
【发布时间】:2021-06-26 10:22:28
【问题描述】:

我有一个包含 3 个节点的 k8s 集群。 使用 kubectl 命令,我进入一个 pod shell 并进行一些文件编辑:

kubectl exec --stdin --tty <pod-name> -- /bin/bash

此时我有一个正确编辑的 pod 和其他 2 个带有旧文件的副本。 我的问题是: 有一个 kubectl 推荐,从特定的 pod 开始,覆盖集群中的当前副本以创建 n 等于 pod?

希望清楚

提前非常感谢 曼努埃尔

【问题讨论】:

  • 嘿@Manuel,如果 pod 被删除,那么它将再次恢复到原始状态。那么手动进行此更改有什么意义呢?

标签: kubernetes google-kubernetes-engine kubectl


【解决方案1】:

您可以使用名为:kubectl-tmux-exec 的 kubectl 插件。
关于如何安装和使用这个插件的所有信息都可以在 GitHub 上找到:predatorray/kubectl-tmux-exec

How to Install Dependencies 文档中所述。

插件需要以下程序:

  • gnu-getopt(1)
  • tmux(1)

我创建了一个简单的示例来说明它是如何工作的。

假设我有一个 web Deployment 并想在所有 (3) 个副本中创建一个 sample-file 文件。

$ 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:

【讨论】:

    猜你喜欢
    • 2019-08-01
    • 2019-02-15
    • 2021-09-27
    • 2020-04-20
    • 1970-01-01
    • 2020-11-02
    • 2015-08-21
    • 2021-12-30
    • 1970-01-01
    相关资源
    最近更新 更多