【问题标题】:Deleting Kubernetes cluster should not delete persistance disk删除 Kubernetes 集群不应删除永久性磁盘
【发布时间】:2020-01-03 16:03:05
【问题描述】:

我使用带有持久性磁盘 (pd-ssd) 的 terraform 创建了一个 kubernetes 集群。我还创建了存储类和持久性卷声明。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-claim
      labels:
        app: elasticsearch
    spec:
      storageClassName: ssd
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 30G
    ---
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: ssd
    provisioner: kubernetes.io/gce-pd
    parameters:
      type: pd-ssd
    reclaimPolicy: Retain
---
apiVersion: v1
kind: Service
metadata:
  name: elasticsearch
  labels:
    name: elasticsearch
spec:
  type: NodePort
  ports:
    - name: elasticsearch-port1
      port: 9200
      protocol: TCP
      targetPort: 9200
    - name: elasticsearch-port2
      port: 9300
      protocol: TCP
      targetPort: 9300
  selector:
    app: elasticsearch
    tier: elasticsearch
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: elasticsearch-application
  labels:
    app: elasticsearch
spec:
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: elasticsearch
        tier: elasticsearch
    spec:
      hostname: elasticsearch
      containers:
        - image: gcr.io/xxxxxxxxxxxx/elasticsearch:7.3.1 
          name: elasticsearch
          ports:
            - containerPort: 9200
              name: elasticport1
            - containerPort: 9300
              name: elasticport2
          env:
            - name: discovery.type
              value: single-node
          volumeMounts:
          - mountPath: /app/elasticsearch/gcp/
            name: elasticsearch-pv-volume
      volumes:
          - name: elasticsearch-pv-volume
            persistentVolumeClaim:
              claimName: pvc-claim

pvc-claim 和 storage 类绑定完美,我已将回收策略设置为保留。所以删除kubernetes集群的时候不应该删除持久化盘。但是集群和其他数据的删除与集群

我的场景是我需要一个持久性磁盘,当集群被删除时,我的数据也不应该被删除。磁盘应保持原样。我的场景有什么可行的解决方案吗?

【问题讨论】:

  • 首先,云还是本地?二、为什么要删除集群?
  • @Crou 该集群在 Cloud[GCP] 上可用,为了降低成本,我们将其删除
  • 解决方法是,不要使用 GKE 在虚拟机上设置您自己的集群,您可以在不使用它们时停止。至于存储,我看到两种方法,在停止部署之前备份日期或使用 NFS 共享。但我没有对此进行测试,也不能说移除 PVC 后数据是否可读。
  • 或者你可以试试GCS Bucket
  • 你能看到先删除ssd上的kubernetes标签然后删除pvc再删除pv然后删除集群是不是为你保留了磁盘上的数据?

标签: kubernetes google-cloud-platform kubernetes-deployment


【解决方案1】:

我在 AWS 中使用 kOps 创建了 kubernetes 集群。当我删除我的集群时,我遇到了和你一样的问题。我用于数据库的 EBS 卷已被删除。幸运的是,我有快照可以从中创建一个卷。

解决方案:从 AWS UI 中删除卷的标签。然后删除你的 Kubernetes 集群。然后该卷将不会被删除。我希望这在 GCP 中也是可能的。

更多详情,请查看this videothis post

【讨论】:

    猜你喜欢
    • 2020-04-26
    • 2017-04-04
    • 1970-01-01
    • 2019-12-31
    • 2017-01-16
    • 1970-01-01
    • 2019-06-10
    • 2014-01-17
    • 1970-01-01
    相关资源
    最近更新 更多