首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在kubernetes for FireFly III安装中部署mysql时出错

在kubernetes for FireFly III安装中部署mysql时出错
EN

Stack Overflow用户
提问于 2020-10-30 23:41:43
回答 1查看 94关注 0票数 0

跟随https://docs.firefly-iii.org/installation/k8n对pvc做了一些额外的定制,使它们绑定到我的nfs pv上。到目前为止一切都很顺利。但是mysql pod不会出现并进入CrashLoopBackOff。

mysql pod描述:

代码语言:javascript
复制
~/kubernetes$ kubectl describe pod firefly-iii-mysql-67bfb68cf9-6gm9l
Name:         firefly-iii-mysql-67bfb68cf9-6gm9l
Namespace:    default
Priority:     0
Node:         ommitted
Start Time:   Fri, 30 Oct 2020 15:09:29 +0000
Labels:       app=firefly-iii
              pod-template-hash=67bfb68cf9
              tier=mysql
Annotations:  <none>
Status:       Running
IP:           10.32.0.4
IPs:
  IP:           10.32.0.4
Controlled By:  ReplicaSet/firefly-iii-mysql-67bfb68cf9
Containers:
  mysql:
    Container ID:   docker://7c0e5920d4e1cb3ce98308e0c02d4a98bc9926b828c50496b8d8b3486245dcb9
    Image:          mysql:5.6
    Image ID:       docker-pullable://mysql@sha256:8875725ff152f77e47a563661ea010b4ca9cea42d9dda897fb565ca224e83de2
    Port:           3306/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    141
      Started:      Fri, 30 Oct 2020 15:25:48 +0000
      Finished:     Fri, 30 Oct 2020 15:25:50 +0000
    Ready:          False
    Restart Count:  8
    Environment:
      MYSQL_ROOT_PASSWORD:  <set to the key 'db_password' in secret 'firefly-iii-secrets-kkcdcb696c'>  Optional: false
    Mounts:
      /var/lib/mysql from mysql-persistent-storage (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-k9zt4 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  mysql-persistent-storage:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  mysql-pv-claim
    ReadOnly:   false
  default-token-k9zt4:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-k9zt4
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason            Age                   From               Message
  ----     ------            ----                  ----               -------
  Warning  FailedScheduling  18m (x2 over 18m)     default-scheduler  persistentvolumeclaim "mysql-pv-claim" not found
  Normal   Scheduled         18m                   default-scheduler  Successfully assigned default/firefly-iii-mysql-67bfb68cf9-6gm9l to domm-lnx-02
  Normal   Pulled            16m (x5 over 18m)     kubelet            Container image "mysql:5.6" already present on machine
  Normal   Created           16m (x5 over 18m)     kubelet            Created container mysql
  Normal   Started           16m (x5 over 18m)     kubelet            Started container mysql
  Warning  BackOff           3m16s (x73 over 18m)  kubelet            Back-off restarting failed container

从日志中我得到了以下信息:

代码语言:javascript
复制
~/kubernetes$ kubectl logs firefly-iii-mysql-67bfb68cf9-6gm9l
2020-10-30 15:25:48+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.6.50-1debian9 started.
2020-10-30 15:25:49+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2020-10-30 15:25:49+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.6.50-1debian9 started.
2020-10-30 15:25:49+00:00 [Note] [Entrypoint]: Initializing database files
2020-10-30 15:25:50 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2020-10-30 15:25:50 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2020-10-30 15:25:50 0 [Note] /usr/sbin/mysqld (mysqld 5.6.50) starting as process 52 ...
2020-10-30 15:25:50 52 [Warning] Can't create test file /var/lib/mysql/firefly-iii-mysql-67bfb68cf9-6gm9l.lower-test
2020-10-30 15:25:50 52 [Warning] Can't create test file /var/lib/mysql/firefly-iii-mysql-67bfb68cf9-6gm9l.lower-test
/usr/sbin/mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13 - Permission denied)
2020-10-30 15:25:50 52 [ERROR] Aborting

2020-10-30 15:25:50 52 [Note] Binlog end
2020-10-30 15:25:50 52 [Note] /usr/sbin/mysqld: Shutdown complete

pod创建yaml:

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: firefly-iii-mysql
  labels:
    app: firefly-iii
spec:
  selector:
    matchLabels:
      app: firefly-iii
      tier: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: firefly-iii
        tier: mysql
    spec:
      containers:
      - image: mysql:5.6
        name: mysql
        env:
        - name: MYSQL_ROOT_PASSWORD
          valueFrom:
            secretKeyRef:
              name: firefly-iii-secrets
              key: db_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

一开始我的pvc有点问题,但现在似乎解决了。萤火虫-iii主吊舱似乎工作得很好,具有类似的pv-pvc设置。我不得不重新创建了几次整个部署。但是现在我遇到了这个权限错误。我不确定如何修复它,而且我在任何地方都找不到太多有用的东西……

我希望这里有人能给我指明正确的方向。

EN

回答 1

Stack Overflow用户

发布于 2020-11-06 22:33:00

我想通了。问题与nfs权限有关。我必须在nfs主机上将它们设置为"map all users to admin“。现在我的部署可以在那里实际编辑文件...这是mysql喜欢的;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64611484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档