You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins中清除k8s context及相关配置?

Jenkins中清除所有K8s相关配置的操作方法

你本地执行的kubectl unset contexts本质是操作当前用户目录下的kubeconfig文件,只能清掉当前执行环境的上下文配置,而Jenkins里的K8s配置分系统全局云配置、节点/构建环境kubeconfig两类,要分别清理才能完全模拟首次接入K8s的初始状态:

1. 清理Jenkins系统层面的K8s云配置

这部分配置存在Jenkins自己的存储里,和节点上的kubeconfig完全独立,kubectl命令碰不到这部分内容:

  • 用管理员账号登录Jenkins,进入「系统管理」→「系统配置」
  • 下拉找到「云」配置板块,把所有类型为Kubernetes的云配置条目逐个删除
  • 拉到页面底部点击「保存」
  • 再进入「系统管理」→「凭据」→「系统」全局凭据域,把所有和K8s集群相关的凭据(包括集群CA证书、ServiceAccount token、上传的kubeconfig文件凭据)全部删除,避免后续被流水线误调用

2. 清理节点和构建环境的kubeconfig残留

这部分才是和你本地kubectl操作对应的配置,根据你使用kubectl的方式选择操作:

  • 如果是直接在Jenkins主节点/固定代理节点上执行kubectl命令:登录对应节点,直接执行以下命令彻底清空配置,比单独unset上下文更彻底,完全回到未配置过kubectl的状态:
# 删除默认路径下的kubeconfig文件
rm -rf ~/.kube/config
# 如果之前自定义过KUBECONFIG环境变量指向其他配置文件,同步删除对应路径的文件即可
  • 如果是用Kubernetes CLI插件在流水线里调用kubectl:这类插件是每次构建时临时把kubeconfig写入工作空间的临时目录,构建结束会自动删除,没有持久化残留,只要把前面提到的全局K8s凭据删干净就不会有遗留配置
  • 如果是流水线里自定义了写入kubeconfig的逻辑:删掉流水线里所有生成、写入kubeconfig的步骤,同时清理对应节点工作目录下残留的kubeconfig文件即可

注意:不要只在构建步骤里跑kubectl unset contexts,这个命令只会删除上下文条目,kubeconfig里留存的cluster地址、用户凭证信息都还在,达不到完全重置的效果,直接删除整个kubeconfig文件是最稳妥的方式。

内容的提问来源于stack exchange,提问作者user15159289

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:36:15