# Kubernetes 数据问题

# 配置、密钥

这些变动不太频繁的,建议生成 configMapsecret 进行挂载。

# 数据库、缓存 数据

存放到 pvc 中,只要不删除 pv pvc, 数据就不会丢失。

# 项目数据

例如 PHP 源代码

# 开发环境

开发环境,源码变动频繁,最好是将本地目录挂载进容器中。

假设开发环境使用的是 Docker 桌面版,这两个比较特殊,实现原理实际上是运行了一个 Linux 虚拟机,所以虚拟机的路径不等于宿主机的路径,但有一个对应关系(实际对应关系我已经通过脚本解析,有兴趣的可以查看本项目 CLI 源码)。

本项目的解决方案同上边,使用 hostPath 类型的 pvpvc

我们只要在家目录 ~/app/* 中开发就可以了(还是两步走,新建 PHP 项目目录、NGINX 配置文件)。

# 生产环境

具有 多节点 跨节点 的特性,可以选用以下几种方法

1. 打入镜像,交付容器

2. 挂载可以跨节点的数据卷 (NFS)

3. 使用 Daemonset(git-sync) 保证每个节点都有代码,通过 hostpath 挂载