0

k8s/client-go ライブラリを使用してアプリケーションを制御および開発しています ( https://github.com/kubernetes/client-go )。

永続ボリューム クレームのサブパスを使用すると問題が発生します。例として、私は 2 つのポッドを持ち、各コンテナーのデータを 2 つのサブパスにマウントORG1/DIR1ORG2/DIR2、永続的なボリューム クレーム ( efs file) を使用しています。詳細は次のとおりです。

apiVersion: v1
kind: Pod
metadata:
  name: my-lamp-site
spec:
    containers:
    - name: mysql
      image: mysql
      env:
      - name: MYSQL_ROOT_PASSWORD
        value: "rootpasswd"
      volumeMounts:
      - mountPath: /var/lib/mysql
        name: site-data
        subPath: ORG1/DIR1
    - name: php
      image: php:7.0-apache
      volumeMounts:
      - mountPath: /var/www/html
        name: site-data
        subPath: ORG1/DIR2
    volumes:
    - name: site-data
      persistentVolumeClaim:
        claimName: hpc-vinhha-test

そして、このポッドを削除するために呼び出すと、現在、k8s はポッドのみを削除し、core lib は 上のポッドのデータを削除しませんpersistent volume claim。なので、PVCのデータはゴミとなってどんどん大きくなっていきます。

サブパス内のすべてのデータORG1/DIR1ORG1/DIR2ポッドが削除されたときに削除したい。

これは pvc のファイル yaml です:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{},"name":"efs-claim","namespace":"default"},"spec":{"accessModes":["ReadWriteMany"],"resources":{"requests":{"storage":"5Gi"}},"storageClassName":"efs-sc"}}
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
  creationTimestamp: "2020-07-10T04:02:51Z"
  finalizers:
  - kubernetes.io/pvc-protection
  name: efs-claim
  namespace: default
  resourceVersion: "887409"
  selfLink: /api/v1/namespaces/default/persistentvolumeclaims/efs-claim
  uid: ab66c2f7-744c-4d6f-a508-2bc90f0b1897
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 5Gi
  storageClassName: efs-sc
  volumeMode: Filesystem
  volumeName: efs-pv-shared
status:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 5Gi
  phase: Bound

それで、この問題を手伝ってくれませんか。私は k8s と aws-efs の初心者だからです。だから、私はそれについてあまり経験がありません:(

ありがとうございます。

4

0 に答える 0