Kubernetes是否支持为SQLite数据库创建持久卷

问题描述 投票:0回答:1

因为我尝试创建持久卷,但没有获得任何价值,因为我在 virtualbox 托管的 minikube 虚拟机中创建卷。

我的部署的 yaml 文件:

apiVersion: apps/v1

kind: Deployment

metadata:

  name: python-flask-app-deployment

spec:

  replicas: 1

  selector:

    matchLabels:

      app: python-flask-app-dep

  template:

    metadata:

      labels:

        app: python-flask-app-dep

    spec:

      volumes:

      - name: mypod-pvc

        persistentVolumeClaim:

          claimName: mypvc

      containers:

        - name: python-app-container

          image: jackazjimmy/flask-test-demo-eks:v1

          volumeMounts:

           - mountPath: /app/instance/

             name: mypod-pvc

          ports:

            - containerPort: 31816  # Exposed port in your Dockerfile

          resources:

            limits:

              cpu: 500m

            requests:

              cpu: 200m

 

---

apiVersion: v1

kind: Service

metadata:

  name: python-app-service

spec:

  selector:

    app: python-flask-app-dep

  ports:

    - protocol: TCP

      port: 8080  # External port

      targetPort: 31816  # Container port

  type: NodePort

PVC yaml 文件:

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: mypvc

spec:

  storageClassName: ""

  accessModes:

  - ReadWriteOnce

  resources:

    requests:

     storage: 10Gi

PV yaml 文件:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: mypv
spec:
storageClassName: ""
capacity:
   storage: 10Gi
accessModes:
   - ReadWriteOnce
hostPath:
   path: "/home/mydata"

应用或创建所有必需的资源后,每当我通过 minikube ssh 连接时,都无法获取本地卷中的文件存储。 任何建议都会有帮助:)

docker sqlite kubernetes minikube
1个回答
0
投票

K8s 几乎支持所有可在 K8s 上运行的应用程序的 PV 和 PVC。根据您的文件,您将存储类别留空。它采用默认存储类别。您很有可能没有任何存储类别,或者可能不是 10GB。首先,您创建一个要存储卷的存储类。它可能是本地的,也可能是集群外部的 NFS,或者使用 Minio 或 Rook 等第三方解决方案。您还可以定义此存储类别的大小(例如,10GB 100GB)。然后,您使用此存储类创建一个 PV,并使用与您要使用它的应用程序相关的唯一名称。最后,使用 PV 挂载 PVC(持久卷声明)。现在您的应用程序会将数据存储到 PVC 中,PVC 与 PV 一起安装,并且 PV 将数据存储到存储类中。 这是存储类 yaml 文件的示例。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: standard
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp2
reclaimPolicy: Retain
allowVolumeExpansion: true
mountOptions:
  - debug
volumeBindingMode: Immediate

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.