Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阻止部署错误kubernetes环境的方法_Kubernetes_Kubectl_Kustomize - Fatal编程技术网

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

阻止部署错误kubernetes环境的方法,kubernetes,kubectl,kustomize,Kubernetes,Kubectl,Kustomize,我们有一组kubernetes YAML,由kustomize管理,它们将部署到不同的集群。每个集群略有不同,这意味着每个环境都有一个子目录(environ/),包括一些特殊的kustomization覆盖 我们将通过命令kubeclt apply-k environ/env将新版本手动部署到不同的环境中。但有时我们会做这样愚蠢的事情:kubectl将-k environ/env1应用到集群env2。那么,有没有什么方法可以停止在错误的环境中使用kubectl应用程序?这是一个社区wiki答案。

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


我们将通过命令
kubeclt apply-k environ/env
将新版本手动部署到不同的环境中。但有时我们会做这样愚蠢的事情:
kubectl将-k environ/env1
应用到集群
env2
。那么,有没有什么方法可以停止在错误的环境中使用kubectl应用程序?

这是一个社区wiki答案。请随意扩展它

如果您意识到犯了错误,并希望立即取消该命令,则有一些选项供您选择:

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


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

如果您是
kubectl
,您如何知道它是错误的环境?因此我认为可能是一些bash别名来防止错误的部署?Bash可以获取当前的kubectl内容。我会为每个集群使用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
@VASャ 是的,这是个好方法。谢谢。@Aisensy这样做了吗?不,在
k应用
之后,杀死
已经太晚了。所以我认为关键是在真正的
应用之前有效。在这种情况下,VAS提出的解决方案ャ对你有好处吗?是的,我认为这是一个好方法。我已经编辑了我的答案,并将其作为一个社区wiki,以包含VAS提出的解决方案ャ