kubernetes - 停止部署错误 Kubernetes 环境的方法
问题描述
我们有一组 kubernetes yamls,由它们管理kustomize
,它们将被部署到不同的集群。每个集群都略有不同,这意味着每个环境都有一个子目录 ( environ/<envname>
),包括一些特殊的自定义覆盖。
我们将通过命令手动将新版本部署到不同的环境kubeclt apply -k environ/env
。但有时我们会做这样的愚蠢事情:kubectl apply -k environ/env1
对集群env2
。那么有什么方法可以停止kubectl apply
对错误的环境进行操作吗?
解决方案
这是一个社区维基答案。随意扩展它。
如果您意识到自己犯了一个错误并想立即取消该命令,那么您可以使用以下选项:
$ 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
可以在此处找到有关该方法的更多详细信息。