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

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

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

资源依赖问题

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

  • 服务器资源
  • 外部服务
  • 网络相关资源

1.服务器资源申请

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

示例:

名称

类型

操作系统版本

CPU

磁盘

内存

数量

中间件服务器

ECS

CentOS 7.9

8

500

16

5

应用服务器

ECS


16

500

32

20

K8S Master

云服务


1




NAS

云服务






2.外部服务

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

3.网络相关资源

  • SSL证书,如果系统开放到外网必须要有 SSL证书,建议申请通配符证书,这种没有域名数量限制问题,如下图,只要属于 feishu.cn 下的二级域名,都可以用此证书。

ssl证书

  • 公网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

产品分支与镜像管理

1.分支管理

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

分支类型

规则

示例

说明

项目开发分支

作者-项目简称-需求名称

zs-xs-需求名称


项目测试分支

项目名称-demo

项目名称-demo


项目测试生产分支

项目名称-master

xs-master

项目代码发布打tag,版本包括三类:

大版本(x.0.0)

小版本(x.x.0)

补丁(x.x.x)

2.镜像TAG管理

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

责任编辑:赵宁宁 来源: 架构成长指南
相关推荐

2021-05-07 11:58:05

微服务循环依赖

2017-01-10 16:04:02

容器MySQL实践

2022-05-20 11:23:01

火山引擎A/B 测试ToB 市场

2023-12-25 07:35:40

数据集成FlinkK8s

2022-11-23 08:32:52

toB应用应用交付

2020-11-23 18:36:21

容器微服务程序

2023-11-02 08:01:22

2022-06-03 09:21:47

Svelte前端携程

2023-09-05 07:40:37

PythonSDKAPI

2022-09-19 08:35:28

Kafka节点故障

2021-03-12 07:47:44

KubernetesRedis-clustRedis

2023-07-12 16:07:50

链路数据湖技术

2024-02-01 09:48:17

2022-04-22 13:32:01

K8s容器引擎架构

2023-06-01 11:36:41

ChatGLM-6B

2023-09-07 08:58:36

K8s多集群

2018-05-30 12:00:55

私有云云计算数据

2013-09-29 10:36:08

VMware虚拟化
点赞
收藏

51CTO技术栈公众号