生产实践:基于K8S私有化交付要注意这几点问题

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享

在使用 k8s 进行项目私有化部署时,会遇到很多问题,以下把作者经常遇到的一些问题以及需要注意的点分享给各位。

资源依赖问题

在进行私有化部署时,我们的系统会依赖很多外部资源与服务,比如:

  • 服务器资源
  • 外部服务
  • 网络资源
服务器资源申请

需要提前根据客户提供的业务数据,以及结合自身系统微服务数量等维度,梳理出一个服务器资源配置清单,提前申请资源。

示例

名称 类型 操作系统版本 CPU 磁盘 内存 数量
中间件服务器 ECS CentOS 7.9 8 500 16 5
应用服务器 ECS 16 500 32 20
K8S Master 云服务 1
NAS 云服务
外部服务

结合业务需求,梳理依赖的外部服务清单,比如短信服务、地图Api、公众号、小程序等,需提前申请,以免影响项目交付。

网络相关资源
  1. SSL证书,如果系统开放到外网必须要有 SSL证书,建议申请通配符证书,这种没有域名数量限制问题,如下图,只要属于 feishu.cn 下的二级域名,都可以用此证书。
  1. 公网443/80 端口备案,部分应用强制依赖这些端口,比如小程序,需要提前进行备案,而且周期较长。

负载均衡器选择

在未使用k8s时,常用Nginx进行SLB和前端资源部署,类似如下图 而使用k8s以后,Nginx功能被削弱了很多,比如转发规则,可以放在Ingress 进行配置,前端资源也部署k8s 中 而Nginx只充当 SLB的作用,例如把前端请求转发到Ingress 中,功能很单一,而不管是公有云或私有云,厂商都提供了SLB,因此就不需要Nginx这一层,由厂商提供的SLB 直接转发请求至Ingress 即可。

SSL证书挂载

有了厂商提供的SLB,那么 SSL证书也没必要挂载在k8s 的 Ingress上,直接挂载SLB即可,如下图,经过负载均衡器的请求都进行了证书剥离,转换成了 http

系统开放策略整理

根据业务需求,提前整理系统网络开放策略清单,交由相关人员进行配置,比如系统 A 内网访问,系统 B外网访问,如下图

名称 域名 是否对外 协议 外网映射端口 DNS 解析 IP SLBIP 目标 IP
系统 A a.feishu.com https 443 公网 IP 172.18.xx.xx xxx
系统 b b.feishu.com http SLB IP 172.18.xx.xx xxx

产品分支与镜像管理

分支管理

由于私有化部署,有些需求是个性化的,这部分需求与通用版本分支是无法兼容的,那么需要从代码分支上进行区分,比如项目有对应项目的分支,通用分支有通用分支,如果一个需求的功能是通用需求,建议在通用分支上改造,测试完在合并至项目分支,其实不管用那种方式,要保证兼容性,可追溯。

分支类型 规则 示例 说明
项目开发分支 作者-项目简称-需求名称 zs-xs-需求名称
项目测试分支 项目名称-demo 项目名称-demo
项目测试生产分支 项目名称-master xs-master 项目代码发布打tag,版本包括三类: 大版本(x.0.0) 、小版本(x.x.0)、 补丁(x.x.x)

镜像TAG管理

镜像的tag要与代码 tag相互联系起来,比如代码 tag 是:realse-1.0.0,那么镜像 tag也建议是这个名称,这样如果出问题,可以根据镜像 tag快速找到对应代码。

相关推荐
飞Link8 分钟前
LangGraph 核心架构解析:节点 (Nodes) 与边 (Edges) 的工作机制及实战指南
java·开发语言·python·算法·架构
程序消消乐30 分钟前
第一章:Claude Code 记忆系统——架构总览与四种记忆类型
大数据·架构·agent·claude code
Agent产品评测局38 分钟前
企业预算管理自动化落地,编制管控全流程实现方案 —— 2026企业级智能体选型与架构深度解析
运维·人工智能·ai·架构·自动化
LONGZETECH1 小时前
汽车故障诊断仿真教学软件【风光580】:技术架构、功能实现与落地实践
架构·汽车·汽车仿真教学软件·汽车教学软件
Ulyanov1 小时前
从零构建现代化Python音频播放器:ttk深度应用与皮肤系统设计
python·架构·音视频·数据可视化
C'ᴇsᴛ.小琳 ℡1 小时前
架构重构的技术
重构·架构
嵌入式老牛2 小时前
SST专题3-1 基于光分路器的MMC分布式控制系统架构
分布式·架构·驱动·光纤·sst
heimeiyingwang2 小时前
【架构实战】ETL架构演进:从批处理到实时流处理
数据仓库·架构·etl
我科绝伦(Huanhuan Zhou)3 小时前
分享一个很实用的K8S巡检脚本
linux·docker·kubernetes
墨雪遗痕3 小时前
工程架构认知一:一次请求到大量请求
架构