Kubernetes 集群应用搭建全解析
1. 持久存储与副本设置
在使用持久存储时,实例的复制和重启会受到限制。因此,需要将副本数设置为 1,并将策略设置为 Recreate。这是因为在更新时,如果 Kubernetes 尝试先启动新 Pod 再关闭旧 Pod,新 Pod 启动时卷可能正在被使用,导致新 Pod 无法部署。所以,在更新时应先关闭旧 Pod。
2. StatefulSets 的使用
如果需要复制实例(例如使用复制的数据库从服务器),则应使用 StatefulSets 而不是 Deployment。StatefulSets 具有以下特点:
- 启动过程有顺序,可确保主服务器先于从服务器启动。
- 支持 PVC 模板,可为每个部署的 Pod 创建存储声明。
- 每个 Pod 都有可预测的名称,便于 Pod 之间相互查找。例如,如果 StatefulSet 名为 myset,则第一个 Pod 名为 myset - 0,第二个为 myset - 1,依此类推。
- 每个 Pod 会有一个标签,键为 statefulset.kubernetes.io/pod - name,值为 Pod 的名称,方便通过 Service 的选择器定位单个 Pod。
3. 前端服务
前端服务的容器通过共享挂载卷进行通信。由于文件大小较小,使用主机上的空目录作为存储,通过 emptyDir 创建可在 Pod 内容器间共享的卷,该目录是临时的,Pod 终止时会被删除。
Pod 模板包含 initContainers 部分,使用 bitnami/git 镜像克隆存储网站代码的仓库。若为公共仓库
超级会员免费看
订阅专栏 解锁全文
630

被折叠的 条评论
为什么被折叠?



