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

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



