每日一Go-77、多 K8s 集群如何高效切换?一篇讲透 KubeConfig / Context / 多环境管理

从Jupyter到生产:机器学习模型部署的七道关卡 机器学习模型部署是连接算法研发与业务价值的关键环节,其本质是将研究态的`model.predict()`转化为工程态的高可用、可监控、可回滚API服务。核心原理在于解耦训练与推理、固化特征处理、标准化模型序列化,并通过分层缓存、请求生命周期管理与全链路可观测性保障稳定性。技术价值体现在降低延迟抖动、提升故障定位效率、支持快速迭代与合规审计。典型应用场景包括金融风控评分、电商实时推荐和智能客服意图识别。本文聚焦ONNX模型序列化、特征服务化、生产级可观测性等落地细节,直击Pickle安全风险、冷启动延迟、状态 阅读详情

在日常开发和运维中,多 Kubernetes 集群几乎是标配:本地有 Kind 集群,云端有 阿里云 ACK,机房里还有 IDC 自建集群。

如果你还在靠「不停改 ~/.kube/config」来切换集群,那一定会踩坑。这篇文章我们就来系统讲清楚:多 K8s 集群如何优雅、高效、安全地管理和切换。

一、KubeConfig 天生支持多集群

很多人不知道,其实 KubeConfig 从设计之初就支持多集群。

核心概念只有一个:Context。

  • 一个 ~/.kube/config

  • 可以管理 N 个集群

  • 本质就是在 clusters / users / contexts 之间做切换

👉 切换集群 ≠ 覆盖配置,而是切换 context

二、方式一:合并阿里云KubeConfig/IDC的KubeConfig

1. 假设你现在有两个文件

本地原来就有:

~/.kube/config

阿里云下载的:

~/.kube/config-ack-prod

2. 合并KubeConfig配置

KUBECONFIG=$HOME/.kube/config:$HOME/.kube/config-ack-prod \                                                                   coding-jun@localhost 
kubectl config view --merge --flatten > /tmp/config 

然后覆盖原来的config

mv /tmp/config $HOME/.kube/config     
这个操作做了什么?
  • 合并所有:

  • clusters

  • users

  • contexts

  • 不会丢失原有集群

  • context 名称自动保留

  • 最终只维护一个 ~/.kube/config

3. 验证合并是否成功

kubectl config get-contexts

如果能看到本地 + ACK 的 context,说明成功

图片

三、如何在多个集群之间切换?

1. 查看所有 context

kubectl config get-contexts 

2. 切换到阿里云 ack

kubectl config use-context kubernetes-admin-c606e21cd579748e28bb076e05e29d2f4

成功后提示

Switched to context "kubernetes-admin-c606e21cd579748e28bb076e05e29d2f4".   

3. 验证当前集群

kubectl cluster-info
kubectl get nodes

图片

四、方式二:多文件 + 环境变量(运维强烈推荐)

如果你不想合并文件,比如多环境 / 多云 / 多账号场景,这种方式非常干净。

1. 目录结构

~/.kube/
├── config              # 本地集群
├── config-ack-prod     # 阿里云生产
├── config-idc     # idc机房集群

2. 临时使用某个集群

export KUBECONFIG=~/.kube/config-ack-prod
kubectl get nodes

3. 同时加载多个

export KUBECONFIG=~/.kube/config:~/.kube/config-ack-prod
kubectl config get-contexts

4. 优点

  • 不污染主 config

  • 非常适合多云 / 多环境

  • 运维 / SRE 使用

五、IDC机房的k8s如何生成KubeConfig?

如果是 IDC 自建 Kubernetes,通常需要自己生成 kubeconfig。

以下步骤在 k8s-master 节点执行。

1. 生成客户端证书(在master上)

openssl genrsa -out user1.key 2048
openssl req -new -key user1.key -out user1.csr -subj "/CN=user1/O=dev"

2. 用K8s CA签发

openssl x509 -req -in user1.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreateserial -out user1.crt -days 365

3. 添加集群角色权限

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: user1-view
subjects:
- kind: User
  name: user1
roleRef:
  kind: ClusterRole
  name: view
  apiGroup: rbac.authorization.k8s.io
kubectl apply -f rbac.yaml

4. 生成kubeconfig

kubectl config set-cluster idc \
  --server=https://k8s-api.idc.example.com:6443 \
  --certificate-authority=/etc/kubernetes/pki/ca.crt \
  --embed-certs=true \
  --kubeconfig=user.kubeconfig
kubectl config set-credentials user1 \
  --client-certificate=user1.crt \
  --client-key=user1.key \
  --embed-certs=true \
  --kubeconfig=user.kubeconfig
kubectl config set-context user1@idc \
  --cluster=idc \
  --user=user1 \
  --kubeconfig=user.kubeconfig
kubectl config use-context user1@idc --kubeconfig=user.kubeconfig

5. 下载生成的user.kubeconfig到本地

~/.kube/config-idc

6. 合并到~/.kube/config

参考上面的方式一和方式二

六、总结

KubeConfig 是“多集群配置文件”,靠 context 切换,而不是覆盖。

  • 一个 kubeconfig,可以管理 N 个集群

  • 推荐:

  • 开发:方式一(合并)

  • 运维 / 多环境:方式二(多文件 + env)

  • 掌握 context,K8s 多集群不再混乱


友情链接:加班费计算器(vx小程序“加班计”)


*源码地址*

私给


如果您喜欢这篇文章,请您(点赞、分享、亮爱心),万分感谢!

从零开始学习 Go 1.25 编程 今天是你新生活的第一天,无论年龄、背景如何,改变从这一刻开始。CodeGym帮助成千上万普通人转型为程序员,从零基础到掌握Go语言,完成真实项目,甚至入职心仪岗位。Go语言简洁高效,适合服务器端开发,是云基础设施、微服务和高负载系统的首选。2026年正是入行良机,你的经验反而是优势。别犹豫,迈出第一步,你将收获技能、自信与全新人生。🚀 阅读详情

相关推荐

Go 语言数据库事务详解:从 db.Begin 到 Tx 的正确用法

本文详解Go语言中database/sql事务的正确用法,从*sql.Tx的底层模型出发,阐述事务与连接池的关系,提供标准事务模板,并强调使用db.BeginTx控制隔离级别与超时。重点剖析常见陷阱:误用db而非tx执行SQL、defer顺序错误、忽略Commit错误、事务过长导致资源耗尽等。结合可运行示例,涵盖事务内查询、预处理语句及保存点模拟嵌套事务,全面覆盖工程实践中的关键细节。

u011175571的博客 492

kubectl use-context配置多集群访问,控制多个k8s集群

kubectl use-context配置多集群访问 今天在rancher平台上进行日常维护。在多个集群切换时,鼠标一顿点点点还是有点不够顺畅。于是在"瑞斯拜"的chrome里面找到了k8s有关多集群访问配置的桥段,下面根据实践过程做简单描述 使用 kubeconfig 文件组织集群访问 通过 kubectl 连接k8s集群时,默认情况下,kubectl 会在$HOME/.kube 目录下查找名为 config 的文件,我直接root用户登录的、我的 config配置文件路径为 ~/.k..

会哭的雨@的博客 4396

使用OpenCV进行3D重建:详细指南

3D重建是计算机视觉领域的一项关键技术,它能够从二维图像中恢复出场景的三维结构。这项技术在机器人视觉、增强现实和3D建模等多个领域都有广泛的应用。在本篇技术博客中,我们将详细介绍如何使用OpenCV这一流行的计算机视觉库来实现3D重建。我们将逐步探讨整个过程,包括相机标定、特征点提取与匹配、立体校正、深度图计算以及最终的三维重建。3D重建是一个复杂的过程,涉及多个步骤和多种算法。OpenCV提供了强大的工具来支持这一过程,从相机标定到特征点提取与匹配,再到立体校正和深度图计算,最后实现三维重建。

weixin_41544125的博客 1321

K8S(kubernetes)常用命令

K8S配置和常用命令 kubectl默认没有配置自动完成,可以执行以下命令配置。 source <(kubectl completion bash)                        # setup autocomplete in bash into the current shell, bash-completion package should be instal...

Summer Law的博客 1703

STM32裸机开发基础:寄存器直接操作详解

寄存器是微控制器内部的特殊存储单元,直接与硬件电路连接,用于控制和监视硬件功能。与普通内存不同,寄存器的每一位(bit)通常都有特定的硬件含义。寄存器就是机器的控制面板上的各种开关和指示灯每个开关控制一个具体功能(如打开LED、启动通信)每个指示灯显示一个具体状态(如数据接收完成、错误发生)// GPIO引脚定义1。

2401_88760782的博客 2187

[小技巧] 如何复制知乎电子书中的文字和图片

文章目录一、背景二、复制文字1.最简单的方法(适合短小文字)2. 进阶方法(适合大段文字)三、复制图片四、注意事项 一、背景 有时候希望从书中摘录一部分文字作为笔记,但是知乎电子书阅读时候是禁止copy的,要么手打,要么OCR,给学习带来了一些不便。 审查元素后发现,知乎电子书是把文字分成一段一段的,试图F12直接copy不太方便。 本问将以谷歌Chrome浏览器为例,给出复制小技巧。 二、复制文字 1.最简单的方法(适合短小文字) 选中你需要的文字,左键单击不放,直接拖到地址栏。 然后可以从地址栏中

江南蜡笔小新 9250

k3sup 完整实战指南:60 秒通过 SSH 引导 K3s 集群(install / join / HA / Pro)

k3sup(读作 "ketchup",番茄酱之意)是一个用 Go 编写的轻量级工具,只需 SSH 访问和一个 `k3sup` 二进制文件,就能在任何本地或远程虚拟机上从零到 KUBECONFIG,在约 60 秒内让你在自己的电脑上运行 `kubectl get pods`。本文以当前仓库的 [README.md](https://link.gitcode.com/i/ce357e30c83ee8d

gitblog_00010的博客 569

手把手教你用MaxEnt+ArcGIS玩转物种分布预测

本文详细介绍了如何利用MaxEnt最大熵模型与ArcGIS软件进行物种分布预测。通过实战案例,从数据收集、环境变量处理、模型参数设置到结果可视化分析,手把手教你掌握生态位模型的核心流程。结合SDM toolbox插件,可高效完成数据预处理与高级空间分析,是生态学与保护生物学研究的实用指南。

weixin_29309475的博客 562

K8s 资源管控与权限实战:HPA 弹性伸缩、资源配额、探针、RBAC 权限全解析

本文基于 Kubeadm 部署的 K8s v1.30.2 集群,完成 HPA 弹性伸缩、资源配额管理、Pod 健康探针、证书认证与 RBAC 授权全流程实战。详细演示 ResourceQuota 总量配额、LimitRange 默认资源限制、Liveness/Readiness 自愈机制、自定义用户证书签发、kubeconfig 配置以及精细化权限绑定。所有案例均为真实环境复现,附带压测验证、故障报错分析与解决方案,适合云原生运维进阶学习与生产参考。

Ningcode的博客 173

10步掌握!跨国企业在MySQL中实现数据主权的秘诀 vs. 传统方法,你选对了吗?

首先,我们要明确“数据主权”这一概念。简单来说,它指的是国家对其境内产生的所有类型的数据拥有绝对控制权。这意味着即使数据被存储在国外服务器上,只要该数据来源于某国,那么该国政府就有权对其进行监管。对于跨国公司来说,这就要求它们必须严格遵循不同国家关于数据保护的规定,如欧盟的GDPR、美国的《云法案》以及中国的《网络安全法》等。

java专栏 714

【系统分析师】2025年上半年真题:案例分析-答案及详解(回忆版)

摘要: 试题一考查面向对象分析,涉及用例模型构建的四个阶段(识别参与者、合并需求、细化描述、调整模型),分析CRM系统的参与者与用例,并说明用例间的包含、扩展和泛化关系。 试题二探讨嵌入式Docker,包括容器的轻量性、可移植性及隔离性含义,10项措施与7个规范方面的对应关系,以及优化容器切换时间的三种方法(如无状态连接优化)。 试题三聚焦数据库设计,分析订单表的函数依赖与范式分解(BCNF),讨论分解后是否保持函数依赖及无损性,并针对触发器的性能缺陷提出优化方案。 试题四解析Web开发中的MVC架构与SS

数据知道的博客 6612

Kubernetes详解

在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年Borg系统运行管理着成千上万的容器应用。Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训。Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户。kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。自我修复。

obboda的博客 1874

【系统架构设计师】二十六、论文写作要点

论文写作概述:时间所需120分钟;题目可四选一,必有一题考察软件架构,总有一款适合你;考察形式是机试(开心,再也不用担心字丑了),约2500字。

帅次的博客 4600

Kubernetes

habor,master,node1,node2都要做“1.安装docker” 1.安装docker 2.在harbor上生成key 3.编辑harbor配置文件 4.启动并验证 2.构建部署kubernetes所需主机 主机名 ip 配置 角色 harbor.timinglee.org 172.25.254.254 cpu1、mem 1G harbor仓库 master-node 172.25.254.100 cpu4、mem>4G master,k8s集群控制节点 node1 1

2301_81717288的博客 518

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

知识点10---Kubernetes高可用部署(二进制方式)

本文详细介绍了Kubernetes二进制部署方案,重点阐述了二进制部署相比kubeadm方式的优势与注意事项。文章提供了完整的部署环境准备流程,包括系统配置、内核升级、GRUB引导设置等关键步骤。部署方案采用三主节点+两工作节点架构,详细说明了IP规划、主机名配置及各项系统参数优化。特别强调了证书管理、配置文件版本兼容性等易错点,建议首次部署严格遵循文档流程。文中还包含了内核编译、时间同步、防火墙配置等实用操作指南,为生产环境部署Kubernetes集群提供了可靠参考。

别人笑我太疯癫,我笑他人看不穿。 399

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

kOps 中的 DigitalOcean godo 客户端演进史:从 v1.0.0 到 v1.204.0 的变更日志深度解析

本文以 kOps 仓库内 vendored 的 DigitalOcean Go 客户端库 [godo CHANGELOG](https://link.gitcode.com/i/0ba1818c15ebc6b2e9eaf6d894896576) 为核心素材,系统梳理该库从 2017 年 v1.0.0 到 2026 年 v1.204.0 的完整演进脉络。当前 kOps 在 [go.mod](http

gitblog_00921的博客 210

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

每天10分钟学Go:第5课 switch分支判断

本课程讲解 Go 语言 switch 分支判断核心用法,涵盖单值匹配、多 case 合并、无表达式条件分支、fallthrough 穿透与类型 switch 断言,搭配可运行代码示例,带你掌握 Go 分支结构语法与实战写法。

2501_94567985的博客 253

2026-11-11-Go分布式锁实战

线上偶发重复扣库存,查了半天是业务执行超过了锁的过期时间,锁提前释放,另一个请求拿到锁又执行了一遍。单机锁在多实例部署下失效,Redis SET NX PX 加锁、Lua 脚本原子释放、看门狗续期,这篇讲透分布式锁三大坑,附实现对照表和实战清单。

利威尔的博客,主要分享一些go后端,agent相关知识,都是最新最前沿而且是免费的,在我的专栏里有各种方向的详细分类和内容整理,详细内容请阅读主页置顶文章,希望对你有帮助。 288

Go 泛型入门:类型参数、约束与 Map/Filter/Stack

掌握类型参数、约束、~ 与 union,写出通用 Map/Filter/Stack,并知道什么时候不该用泛型。

JudithHuang的博客 213

每天10分钟学Go:第1课 环境搭建与第一个Go程序

本号专注分享实战干货、避坑指南、性能调优、面试重难点, 每一篇都是亲手落地测试,帮你少走弯路、快速提升核心竞争力。5、将go程序构建成可执行的二进制文件:go build hello-world.go。3、编辑go文件写入程序:vim hello-world.go。4、运行go程序:go run hello-world.go。2、创建go文件:touch hello-world.go。1、创建项目目录:mkdir go-test261111。2、配置go环境变量。

2501_94567985的博客 113

Go CPU 剖析的“地基“:信号、CAS、写屏障、无锁环形缓冲

本文通过“卡点自查表”梳理Go CPU剖析(cpuprof.go)中反直觉设计的底层逻辑,聚焦信号处理、CAS自旋锁、写屏障与无锁缓冲四大核心机制。指出所有设计皆源于信号处理器“不可阻塞、不碰堆、不持锁”的铁律,进而推导出:CompareAndSwap一次即走、环形缓冲无锁写入、预分配内存等策略的本质是向“在任意指令间被中断”这一事实妥协。结合多核并发与操作系统调度原理,揭示了高性能采样器如何在极端约束下实现低延迟、高吞吐。

不愿言弃-念何的博客 594

Go1.25 升级后 GoLand 调试提示【变量不可用】解决方案

顶部菜单Help→在弹出的配置文件中添加下面一行,路径替换为你本机 dlv.exe 真实路径Windows 路径使用正斜杠,不要用反斜杠保存配置文件,完全重启 GoLand(不是只重启调试会话)Go 大版本升级后,优先检查 Delve 兼容性,这是 Go1.24+、Go1.25 最常见的调试踩坑点。升级dlv + 指定dlv路径 + 关闭编译优化参数,90% 的“变量不可用”问题都可以解决。

关于代码的那些事 224

cpuprof.go开关、缓冲区与记账

本文详解Go语言CPU剖析的全链路机制,核心为定时信号触发栈采样、环形缓冲存储与异步写入。通过实验验证了64帧栈深度限制、1MiB缓冲区容量及样本丢失计数机制,揭示了SetCPUProfileRate控制采样频率、add函数处理信号中断、addExtra上报丢失样本等关键流程,并解析了跨平台差异与废弃特性。

不愿言弃-念何的博客 371

联犀 Go SIMD 实战:视频转码从 16.5ms 到 5.46ms

联犀Go视频转码实战:在352×288测试流中单帧单核CPU耗时从16.5ms到5.46ms,区分SIMD、代码及编码策略的综合收益。保留测试条件、压测结果与适用边界。

QQ603785348的博客 340
上一篇: 每日一Go-76(架构篇)|多集群部署 / 容灾 / Failover / Backup / 热迁移
下一篇: 每日一Go-78、Go服务从 2k QPS 到 2w QPS 的优化方法
codeejun
博客等级 码龄19年 13粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值