Ошибка подключения к базе данных развертывания Kubernetes

Я пытаюсь развернуть приложение GLPI (http://glpi-project.org/) на моем Kubernetes кластер, но я столкнулся с проблемой.

Вот мой код развертывания:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pv-claim-glpi
  labels:
    type: openebs
spec:
  storageClassName: openebs-storageclass
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
---

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: glpi
  namespace: jb
  labels:
    app: glpi
spec:
  selector:
    matchLabels:
      app: glpi
  replicas: 1 # tells deployment to run 1 pods matching the template
  template: # create pods using pod definition in this template
    metadata:
      # unlike pod-nginx.yaml, the name is not included in the meta data as a unique name is
      # generated from the deployment name
      labels:
        app: glpi
    spec:
      volumes:
      - name: pv-storage-glpi
        persistentVolumeClaim:
          claimName: pv-claim-glpi
      containers:
      - name: mariadb
        image: mariadb
        env:
        - name: MYSQL_ROOT_PASSWORD
          value: "glpi"
        - name: MYSQL_DATABASE
          value: "glpi"
        - name: MYSQL_USER
          value: "glpi"
        - name: MYSQL_PASSWORD
          value: "glpi"
        - name: GLPI_SOURCE_URL
          value: "https://forge.glpi-project.org/attachments/download/2020/glpi-0.85.4.tar.gz"
        ports:
        - containerPort: 3306
          name: mariadb
        volumeMounts:
        - mountPath: /var/lib/mariadb/
          name: pv-storage-glpi
          subPath: mariadb
      - name: glpi
        image: driket54/glpi
        ports:
        - containerPort: 80
          name: http
        - containerPort: 8090
          name: https
        volumeMounts:
        - mountPath: /var/glpidata
          name: pv-storage-glpi
          subPath: glpidata
---
apiVersion: v1
kind: Service
metadata:
  name: glpi
  namespace: jb
spec:
  selector:
    app: glpi
  ports:
  - protocol: "TCP"
    port: 80
    targetPort: http
    name: http
  - protocol: "TCP"
    port: 8090
    targetPort: https
    name: https
  - protocol: "TCP"
    port: 3306
    targetPort: mariadb
    name: mariadb
  type: NodePort  
---  

Образ докера развернут правильно, но на этапе тестирования, во время настройки приложения, я получаю следующую ошибку при настройке базы данных (mysql).

error glpi

Я уже проверил учетные данные (хост, имя пользователя, пароль), и они верны

Пожалуйста помоги


person Community    schedule 01.08.2018    source источник
comment
Вы получаете что-нибудь из журналов модулей kubernetes? Можете ли вы подключиться к базе данных с помощью такого инструмента, как жаба?   -  person Ryan Dawson    schedule 01.08.2018
comment
Что вы предоставляете в качестве хоста для базы данных? Согласно вашему манифесту вы можете использовать localhost, поскольку контейнеры находятся в одном модуле. Вы пытались подключиться к базе данных или выполнить запуск в контейнере базы данных, чтобы убедиться, что он запущен и работает? Вы можете предоставить нам результат kubectl get pods -n jb?   -  person Const    schedule 01.08.2018


Ответы (1)


Не совсем ответ, так как у меня нет ожидаемых знаний Kubernetes, но я пока не могу добавить комментарий :(

Что вам следует изменить в первую очередь, так это вашу версию GLPi. Воспользуйтесь этой ссылкой. Это последний: https://github.com/glpi-project/glpi/releases/download/9.3.0/glpi-9.3.tgz.

Затем вы можете использовать инструменты cli для настройки базы данных. https://glpi-install.readthedocs.io/en/latest/command-line.html

Используя то, что я получил из вашего файла:

php scripts/cliinstall.php --host=mariadb(not sure about this one in your environment but you get hte idea) --db=glpi --user=glpi --pass=glpi
person Óscar Beiro    schedule 23.08.2018