kubernetes上的Mysql 5.7图像在每2至3周后终止

时间:2017-12-28 12:40:12

标签: kubernetes

我注意到,在我的群集中每运行2到3周后,Google容器引擎上的mysql 5.7图像就会终止。我将一个小型集群配置为测试环境。我有3个节点,一个用于数据库,一个用于api,另一个用于我的节点js前端。 这一切都适用于我的配置后,我能够创建我的数据库及其附带的表,存储过程和我们常用的数据库对象。我的后端都连接到数据库,我的前端都已启动并运行。然后突然过了一段时间我可以估计大约3个星期我的后端再也无法连接到我的数据库。它只是指出它无法连接到mysql服务器。我冲到我的cmd并检查mysql pod是否正在运行。它实际上正在运行。但我无法连接访问我的数据库。我不得不幸运地重新部署mysql映像,因为我的持久卷仍然可以恢复db文件。第二次它发生时它一直说没有root用户,我很惊讶,因为我通常做我所有的数据库设计和所有使用这个用户。第三次它无法再找到我的数据库了。我也认为它可能是我的部署脚本,我在这里附上它以及任何建议:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: mysql
labels:
app: mysql
spec:
replicas: 1
selector:
matchLabels:
  app: mysql
strategy:
type: Recreate
template:
metadata:
  labels:
    app: mysql
spec:
  containers:
  - image: mysql:5.7
    args:
      - "--ignore-db-dir=lost+found"
    name: mysql
    env:
      - name: MYSQL_ROOT_PASSWORD
        valueFrom:
          secretKeyRef:
            name: mysql
            key: password
    ports:
    - containerPort: 3306
      name: mysql
    volumeMounts:
    - name: mysql-persistent-storage
      mountPath: /var/lib/mysql
  volumes:
  - name: mysql-persistent-storage
    persistentVolumeClaim:
      claimName: mysql-pv-claim

这就是我在日志中得到的内容

W1231 11:59:23.713916   14792 cmd.go:392] log is DEPRECATED and will be 
removed in a future version. Use logs instead.
Initializing database
2017-12-31T10:57:23.236067Z 0 [Warning] TIMESTAMP with implicit DEFAULT 
value is deprecated. Please use --explicit_defaults_for_timestamp server 
option (see documentation for more details).
2017-12-31T10:57:23.237652Z 0 [ERROR] --initialize specified but the data 
directory has files in it. Aborting.
2017-12-31T10:57:23.237792Z 0 [ERROR] Aborting

0 个答案:

没有答案