【问题标题】:How to create mysql container with initial data in kubernetes?如何在 Kubernetes 中使用初始数据创建 mysql 容器?
【发布时间】:2019-08-05 19:21:01
【问题描述】:

我想在容器的 MySQL 上设置初始数据(创建数据库和表的脚本文件)。我有另一个 pod,它将与 mysql pod 对话并将数据插入表中。如果我删除 mysql pod,它会创建另一个pod 但之前插入的数据丢失了。我不想丢失在删除 pod 之前插入的数据。如何做到这一点? 我创建了pv和pvc,删除pod后数据丢失了。

kind: PersistentVolume
apiVersion: v1
metadata:
  name: mysql-initdb-pv-volume
  labels:
    type: local
    app: mysql
spec:
  storageClassName: manual
  capacity:
    storage: 1Mi
  accessModes:
    - ReadOnlyMany
  hostPath:
    path: "/home/path to script file/script"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mysql-initdb-pv-claim
  labels:
    app: mysql
spec:
  storageClassName: manual
  accessModes:
    - ReadOnlyMany
  resources:
    requests:
      storage: 1Mi

这是部署.yaml

       volumeMounts:
    - name: mysql-initdb
      mountPath: /docker-entrypoint-initdb.d
  volumes:
  - name: mysql-initdb
    persistentVolumeClaim:
      claimName: mysql-initdb-pv-claim

【问题讨论】:

标签: mysql kubernetes containers devops


【解决方案1】:

编写一个脚本并将其附加到启动后挂钩。验证数据库是否存在且在线。然后继续运行sql命令来创建所需的数据

【讨论】:

    猜你喜欢
    • 2020-05-17
    • 2017-01-27
    • 2015-05-22
    • 1970-01-01
    • 2019-04-10
    • 2020-08-06
    • 1970-01-01
    相关资源
    最近更新 更多