前面利用 k3s 能力:快速拉起、扩缩容、调度
用 Deployment/StatefulSet 跑 MySQL,这是云原生使用K8s 数据库的标准玩法:StatefulSet 给 MySQL 稳定网络标识,PVC 绑定存储,数据存存储卷,Pod 销毁数据不丢。属于练手、学习云原生数据库部署。
但是常规的部署,数据库一般不放pod中,因为Pod 重启/漂移/升级都带来风险。出了问题排查链路长。
生产环境数据库建议独立于 k8s 跑在宿主机上
1、宿主机安装mysql,进行相应的配置,新建数据库和用户
2、导入之前系统上线跑批新增的一些数据表数 48、大小 15.58MB
3、先修改相应的连接配置,切换为本地mysql,再滚动重启 web deployment
4、k3s 的 qmt-mysql deployment、svc、secret 已删除。现在再确认 web 应用在删除后依然健康(验证它确实不再依赖 k8s MySQL),并检查集群状态,
- qmt 命名空间只剩
qmt-web(deployment + NodePort svc) - 删除 k8s MySQL 后,web 应用依然 HTTP 200 健康运行