# Kubernetes 数据问题
# 配置、密钥
这些变动不太频繁的,建议生成 configMap
和 secret
进行挂载。
# 数据库、缓存 数据
存放到 pvc
中,只要不删除 pv
pvc
, 数据就不会丢失。
# 项目数据
例如 PHP 源代码
# 开发环境
开发环境,源码变动频繁,最好是将本地目录挂载进容器中。
假设开发环境使用的是 Docker 桌面版,这两个比较特殊,实现原理实际上是运行了一个 Linux 虚拟机,所以虚拟机的路径不等于宿主机的路径,但有一个对应关系(实际对应关系我已经通过脚本解析,有兴趣的可以查看本项目 CLI 源码)。
本项目的解决方案同上边,使用 hostPath
类型的 pv
和 pvc
我们只要在家目录 ~/app/*
中开发就可以了(还是两步走,新建 PHP 项目目录、NGINX 配置文件)。
# 生产环境
具有 多节点 跨节点 的特性,可以选用以下几种方法
1. 打入镜像,交付容器
2. 挂载可以跨节点的数据卷 (NFS)
3. 使用 Daemonset
(git-sync
) 保证每个节点都有代码,通过 hostpath
挂载
NFS →