停止部署错误的 kubernetes 环境的方法

问题描述

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

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

解决方法

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

如果您意识到自己犯了一个错误并想立即取消该命令,那么有一些选项可供您选择:

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

  • Ctrl+z 暂停当前进程,然后使用 kill -9 %%kill -9 %+ 终止它。有关此方法的更多详细信息,请参见 here

编辑:

在评论中包含 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

有关该方法的更多详细信息,请参见 here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...