Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除Kubernetes群集不应删除持久性磁盘_Kubernetes_Google Cloud Platform_Kubernetes Deployment - Fatal编程技术网

删除Kubernetes群集不应删除持久性磁盘

删除Kubernetes群集不应删除持久性磁盘,kubernetes,google-cloud-platform,kubernetes-deployment,Kubernetes,Google Cloud Platform,Kubernetes Deployment,我已经使用terraform和持久性磁盘(pd ssd)创建了一个kubernetes集群。我还创建了存储类和持久性卷声明 apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-claim labels: app: elasticsearch spec: storageClassName: ssd accessModes:

我已经使用terraform和持久性磁盘(pd ssd)创建了一个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声明和存储类绑定perfecty,我已将reclamin策略设置为retain。因此,删除kubernetes群集时不应删除持久性磁盘。而集群和其他数据的删除与集群有关


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

我在AWS中使用KOP创建了kubernetes集群。当我删除我的集群时,我面临着与您相同的问题。我用于数据库的EBS卷已被删除。幸运的是,我有快照来创建一个卷

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


有关更多详细信息,请先查看和

云计算还是基于prem?第二,为什么要删除群集?@Crou群集在云[GCP]上可用,为了降低成本,我们正在删除它。解决方法是,不使用GKE在虚拟机上设置您自己的群集,您可以在虚拟机不使用时停止这些群集。至于存储,我看到两种方法,即在停止部署之前备份日期或使用NFS共享。但我没有测试过这一点,也不能说删除PVC后数据是否可读。或者您可以尝试使用。您是否可以看到,先删除ssd上的kubernetes标签,然后删除PVC,然后删除pv,然后删除群集是否会将数据保留在磁盘上?