k8s&&CICD

k8s&&CICD

配置文件

服务的配置文件属于有状态信息,而服务本身属于无状态,因此我决定将服务源码与配置文件分开存放。
jenkins流水线步骤:

  • 开发人员与运维人员配合更新配置文件仓库(Dockerfile、yaml、服务的config.yaml)
  • 拉取配置文件仓库,更新configMap、Secret等
  • 拉取源码,借助Dockerfile生成镜像包

数据库

借助Flyway工具,将sql封装到服务源码中,随服务启动执行。
Flyway和Liquibase的工作原理类似,基本流程如下:

  • 开发人员在代码库中编写数据库变更脚本,例如创建表、修改表结构、插入数据等。
  • 运行CICD流程时,Flyway或Liquibase会扫描数据库变更脚本,并根据其版本号和顺序执行这些脚本。
  • 如果数据库中不存在相应的变更记录,工具将会自动执行脚本并将变更记录插入到数据库的元数据表中。
  • 如果数据库中已存在相应的变更记录,工具会检查脚本的校验和,以确保脚本内容未被篡改。
  • 如果有新的变更脚本添加到代码库中,工具会自动执行这些脚本并更新数据库的元数据表。

Flyway和Liquibase都支持多种数据库,并提供了命令行工具和插件,以便与CICD流程集成。它们可以帮助开发团队更简便地管理数据库变更,并确保不同环境中数据库的结构和数据的一致性。

**dbdeploy:**dbdeploy是另一个开源的数据库迁移工具,它允许开发人员使用简单的文本脚本来管理数据库结构和数据变更。它使用基于文本的格式来记录和管理数据库迁移,可与CICD工具集成。

**MyBatis Migrations:**MyBatis Migrations是一个数据库迁移框架,由MyBatis团队提供。它使用Java编写,并允许开发人员使用Java或XML来编写和管理数据库变更。它与MyBatis数据库访问框架无缝集成,并提供了丰富的命令行工具和API。

网络

约定俗称

针对k8s node 节点

端口

50000-60000: 0.0.0.0/0

40000-50000: 公司开放

优点: 不再需要开放端口的操作

ELB:

内部访问,天然支持ELB

外部访问,将node纳入ELB池子,前端挂域名

不具备可行性,有安全隐患

相关推荐
CCblandy1 小时前
一致性哈希到底省了多少搬迁?本机实测 3 轮:取模 6→7 搬 85.8%,V=128 只搬 14.3%,虚拟节点太少会被倾斜骗
后端·python·云原生·性能优化·架构
code_slave(码畜)1 小时前
微服务架构落地:OpenFeign 服务远程调用 + 线程池隔离架构实战 —— 超时控制、重试机制、线程池隔离,防雪崩
spring boot·spring cloud·微服务·云原生·架构·openfeign
励志师code1 小时前
Kubernetes 集群节点生命周期管理实战:从扩容、调度管控到证书续期
运维·docker·容器·kubernetes·gpu算力·kubelet
闲云自留地2 小时前
Kubernetes 安装保姆级:关 swap、装 containerd、init 集群、calico 一篇通
容器·贪心算法·kubernetes
木雷坞2 小时前
Docker Compose部署Metabase:应用库隔离与日期筛选看板
运维·docker·容器
涵美女程序猿2 小时前
ChatCut online 剪微服务熔断测试录屏:仪表盘告警、降级日志与恢复时刻怎样对应
程序人生·微服务·云原生·架构·电脑
怒放的生命19912 小时前
前端项目 Docker 打包实操指南
前端·docker·容器
tedcloud1232 小时前
Docker Compose 部署 Immich:手机照片自动备份与常见故障排查
运维·前端·docker·容器·智能手机·开源·流程图
古城小栈2 小时前
Docker Compose 云原生的底座
docker·云原生·容器
卜锦元3 小时前
Docker Compose 部署 Nginx 1.30.6 完整指南
nginx·docker·容器