Minikube MySQL files



我正在使用VB在我的Mac上运行minikube。我能够使用声明式方法在minikube上启动一个数据库。但是当我删除部署时,数据会丢失。现在我的问题是——

  1. 所有这些数据都保存在哪里?
  2. 如何更改配置以便将数据保存在主机上(我的意思是 mac(?这样,删除或重新启动 pod/部署不会删除所有数据。

这是我的yaml文件 -

apiVersion: v1
kind: Service
metadata:
  name: track-mysql
  labels:
    app: track
spec:
  ports:
    - port: 3306
  selector:
    app: track
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mysql-pv
  labels:
    type: local
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /data/pv001
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pvc
  labels:
    app: track
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: track-mysql
  labels:
    app: track
spec:
  selector:
    matchLabels:
      app: track
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: track
    spec:
      containers:
      - image: mysql:5.6
        name: mysql
        env:
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mysql
              key: password
        - name: MYSQL_DATABASE
          value: track
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
          - name: mysql-persistent-storage
            mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pvc

我已经检查过,在我的Mac上,数据不在/data/pv001

在您删除部署的情况下,kubernetes 将删除所有生成的资源和所有卷。

您可以挂载本地文件夹,这样您就可以将数据保存到本地存储中。

由于删除部署时将删除永久性卷,因此,如果装载本地文件夹,尽管卷将被删除,但您的数据将存储在本地磁盘上。

我正在使用postgresql,运行后找到了我的数据

minikube ssh

在此路径中的文件夹中

/

var/hostpath-provisioner/{my_namespace}/{my_claim_name}

哪里

my_claim_name

基本上是

kind: PersistentVolumeClaim
metadata:
   name: my_claim_name

命名空间只是

kind: Namespace
metadata:
  name: my_namespace
  labels:
    name: my_namespace

虽然我无法 cd 进入它,因为我没有 root 访问权限

相关内容

  • 没有找到相关文章

最新更新