Развертывание Nextcloud Kubernetes Внутренняя ошибка сервера - PullRequest
0 голосов
/ 28 мая 2020

Я хочу установить nextcloud в кубернетах согласно этому руководству: https://www.codementor.io/@alicheaito / deploying-nextcloud-on-kubernetes-with-kustomize-tn78vcz0a

Я не использую никаких вход. Для тестирования я использовал RunAsUser: 0 при развертывании, я знаю, что это небезопасно, и я изменю его на порт 8080 и идентификатор пользователя 1099 в производстве. Когда я вызываю страницу, я получаю такой экран: Internal server error

Я не вижу ничего подозрительного в логах: enter image description here

Я новичок в kubernetes и не знаю, с чего начать отладку.

Мой deployment.yaml для nextcloud:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    component: app
  name: app
spec:
  selector:
    matchLabels:
      component: app
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        component: app
    spec:
      securityContext:
        fsGroup: 1099
        runAsUser: 33
        runAsGroup: 1099
      containers:
        - image: nextcloud:apache
          imagePullPolicy: Always
          name: app
          ports:
            - containerPort: 80
          env:
            - name: MYSQL_DATABASE
              valueFrom:
                secretKeyRef:
                  key: MYSQL_DATABASE
                  name: db-secrets
            - name: MYSQL_PASSWORD
              valueFrom:
                secretKeyRef:
                  key: MYSQL_PASSWORD
                  name: db-secrets
            - name: MYSQL_USER
              valueFrom:
                secretKeyRef:
                  key: MYSQL_USER
                  name: db-secrets
          volumeMounts:
            - mountPath: /var/www/html
              name: app-persistent-storage
            - mountPath: /usr/local/etc/php/conf.d/
              name: app-persistent-storage
      restartPolicy: Always
      volumes:
        - name: app-persistent-storage
          persistentVolumeClaim:
            claimName: app-pvc

Service.yaml для nextcloud:

apiVersion: v1
kind: Service
metadata:
  name: app
  labels:
    component: app
spec:
  type: LoadBalancer
  ports:
    - port: 80
  selector:
    component: app

Скриншоты из сервисов и подов: kubectl get svc enter image description here

Вот файл nextcloud.log там есть что-то подозрительное, но это мне не помогло:

{"reqId":"4cSKDj718CckiPwauoRU","level":3,"time":"2020-05-28T11:00:55+00:00","remoteAddr":"10.20.0.8","user":"--","app":"base","method":"GET","url":"/","message":{"Exception":"Exception","Message":"Failed to start session","Code":0,"Trace":[{"file":"/var/www/html/lib/base.php","line":429,"function":"__construct","class":"OC\\Session\\Internal","type":"->","args":["oci0uf3awll8"]},{"file":"/var/www/html/lib/base.php","line":647,"function":"initSession","class":"OC","type":"::","args":[]},{"file":"/var/www/html/lib/base.php","line":1089,"function":"init","class":"OC","type":"::","args":[]},{"file":"/var/www/html/index.php","line":36,"args":["/var/www/html/lib/base.php"],"function":"require_once"}],"File":"/var/www/html/lib/private/Session/Internal.php","Line":65,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36","version":""}
{"reqId":"4cSKDj718CckiPwauoRU","level":3,"time":"2020-05-28T11:00:56+00:00","remoteAddr":"10.20.0.8","user":"--","app":"PHP","method":"GET","url":"/","message":"You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead. at /var/www/html/3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/intl.php#18","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36","version":""}

1 Ответ

0 голосов
/ 02 июня 2020

Позвольте мне обратиться к части вашего вопроса «Я не знаю, с чего начать отладку», поскольку я уверен, что это будет наиболее выгодным подходом для вас в долгосрочной перспективе.

Там две наиболее распространенные вещи для отладки, которые также применимы к вашему варианту использования:

Службы отладки путем проверки:

  • Существует ли служба?

  • Работает ли Сервис по DNS-имени?

  • Работает ли Сервис по IP-адресу?

  • Правильно ли определена служба?

  • Есть ли у службы конечные точки?

  • Работает ли kube-proxy?

Отладка запущенных модулей , в котором объясняется, как отлаживать запущенные модули (или сбой) на узле:

  • Изучение журналов модулей

  • Отладка с использованием контейнера exe c

  • Отладка с помощью временного контейнера отладки

  • Отладка через оболочку на узле * 10 53 *

Я также рекомендую ознакомиться с руководством Устранение неполадок приложений :

Это руководство поможет пользователям отлаживать приложения, развернутые в Kubernetes и работает некорректно.

Действия и подробности можно найти в связанных источниках.

Знание описанных выше методов поможет вам понять, где и что в первую очередь проверять со стороны Kubernetes. Надеюсь, вы найдете это полезным.

...