Развертывание django с помощью kubernetes ingress

Я не могу настроить path для приложения django в kubernetes nginx. Приложение работает нормально на локальной разработке, но не в kubernetes. Оно говорит Failed to connect

Минимальный воспроизводимый пример

<values.yaml>

imageName: ingestion-dashboard
replicas: 1

ingressAnnotations:
  nginx.ingress.kubernetes.io/use-regex: "true"
ingressRules:
  - path: /dashboard
    portName: http



<deployment.yaml>

{{ include "ingestion-dashboard.deployment-header" . }}
    spec:
      {{ include "ingestion-dashboard.workerNodeSelector" .  | indent 6 }}
      containers:
        - name: ingestion-dashboard
          {{ include "image" . | nindent 10 }}
          env:
            - name: SOME_ENV
              value: SOME_VAL
          ports:
            - containerPort: 4781
              hostIP: 0.0.0.0



<service.yaml>


apiVersion: v1
kind: Service
metadata:
  name: ingestion-dashboard
  labels:
{{ include "ingestion-dashboard.labels" . | indent 4 }}
spec:
  ports:
    - name: http
      port: 4781
      protocol: TCP
      targetPort: 4781
  selector:
    app.kubernetes.io/name: {{ include "ingestion-dashboard.name" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}



<urls.py> {in django}

urlpatterns = [
    path('/dashboard/', include(running_urls.urlpatterns))

]

Port `4781` is configured everywhere (docker file as well)

ниже приведен вывод k get service ingestion-dashboard -o wide

NAME                  TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)    AGE  
ingestion-dashboard   ClusterIP   10.69.37.77   <none>        4781/TCP   13h   

Это не работает. Эта же установка работает нормально, когда используется для приложения flask. Но она не работает для django.

У приложений Nginx и django нет ошибок, так как Nginx работает нормально для других (включая flask), а приложение Django работает нормально локально.

Вернуться на верх