gpt4 book ai didi

kubernetes - 运行抢占式实例如何保存SQL存储数据?

转载 作者:行者123 更新时间:2023-12-02 11:43:36 27 4
gpt4 key购买 nike

我正在努力降低在 Google Cloud Platform 上运行 kubernetes 集群的成本。

我将我的节点池移动到可抢占的 VM 实例。我有 1 个用于 Postgres 的 pod 和 4 个用于网络应用程序的节点。对于 Postgres,我创建了 StorageClass 来使数据持久化。

令人惊讶的是,也许不是,一天后所有存储数据都被删除了。

如何让GCP中的特定节点不可抢占?或者,您能否建议在这种情况下该怎么做?

最佳答案

我想我找到了解决方案。

  1. 通过以下方式在 gcloud 上创建磁盘:
gcloud compute disks create --size=10GB postgres-disk
gcloud compute disks create --size=[SIZE] [NAME]
  1. 删除任何 StorageClasses、PV、PVC
  2. 配置部署文件:
apiVersion: apps/v1beta2
kind: StatefulSet
metadata:
name: postgres
spec:
serviceName: postgres
selector:
matchLabels:
app: postgres
replicas: 1
template:
metadata:
labels:
app: postgres
role: postgres
spec:
containers:
- name: postgres
image: postgres
env:
...
ports:
...
# Especially this part should be configured!
volumeMounts:
- name: postgres-persistent-storage
mountPath: /var/lib/postgresql
volumes:
- name: postgres-persistent-storage
gcePersistentDisk:
# This GCE PD must already exist.
pdName: postgres-disk
fsType: ext4

关于kubernetes - 运行抢占式实例如何保存SQL存储数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55392863/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com