首页 > 解决方案 > 停止部署错误 Kubernetes 环境的方法

问题描述

我们有一组 kubernetes yamls,由它们管理kustomize,它们将被部署到不同的集群。每个集群都略有不同,这意味着每个环境都有一个子目录 ( environ/<envname>),包括一些特殊的自定义覆盖。

我们将通过命令手动将新版本部署到不同的环境kubeclt apply -k environ/env。但有时我们会做这样的愚蠢事情:kubectl apply -k environ/env1对集群env2。那么有什么方法可以停止kubectl apply对错误的环境进行操作吗?

标签: kuberneteskubectlkustomize

解决方案


这是一个社区维基答案。随意扩展它。

如果您意识到自己犯了一个错误并想立即取消该命令,那么您可以使用以下选项:

  • $ kill -9 $!将杀死该命令最近执行的进程($!表示其进程 ID)。

  • 按 挂起当前进程Ctrl+z,然后使用kill -9 %%或终止它kill -9 %+。可以在此处找到有关此方法的更多详细信息。

编辑:

包括VASャ从评论中提出的解决方案:

我会为每个集群使用 shell 脚本和不同的配置,就像这样:deploy-cluster1.sh我有kubectl --kubeconfig .kube/cluster1 apply -k environ/cluster1甚至更短的地方:deploy.sh env1其中deploy.sh包含:kubectl --kubeconfig .kube/$1 apply -k environ/$1

可以在此处找到有关该方法的更多详细信息。


推荐阅读