ZBLOG

k8s 上部署etcd集群 数据如何持久化

在 Kubernetes 上部署 etcd 集群可以使用 PV(Persistent Volume)和 PVC(Persistent Volume Claim)来持久化数据。在创建 etcd Pod 时,通过 PVC 来申请对应的 PV,该 PV 可以是 NFS、iSCSI 等存储卷,用于存储 etcd 数据。

以下是一个示例 YAML 文件:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: etcd-data
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi

---

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: etcd-cluster
spec:
  replicas: 3
  serviceName: "etcd-headless"
  selector:
    matchLabels:
      app: etcd
  template:
    metadata:
      labels:
        app: etcd
    spec:
      containers:
        - name: etcd
          image: quay.io/coreos/etcd:v3.4.0
          command: ["/usr/local/bin/etcd"]
          args: ["--name=$(HOSTNAME)", "--data-dir=/var/lib/etcd", "--listen-client-urls=http://0.0.0.0:2379", "--advertise-client-urls=http://$(HOSTNAME):2379"]
          volumeMounts:
            - name: etcd-data
              mountPath: /var/lib/etcd
      volumes:
        - name: etcd-data
          persistentVolumeClaim:
            claimName: etcd-data

其中,PersistentVolumeClaim 定义了 etcd 数据的存储方式,StatefulSet 定义了 etcd Pod 的副本数量和模板,通过 volumesvolumeMounts 将 PVC 挂载到 Pod 中。这样,在 etcd Pod 重启或迁移时,数据可以持久化存储在 PV 中。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=834

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?