我正在尝试在部署到 Azure 时让我的 API 正常工作。我目前的问题是由于某种原因,我的 Django 应用程序找不到在我的 be-configmap.yaml
文件中定义的环境变量。它在执行 .env
时尝试使用 python manage.py runserver 0.0.0.0:8000;
文件(该文件不存在)。
这是我的backend-deployment.yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend
spec:
replicas: 1
selector:
matchLabels:
name: backend
strategy: {}
template:
metadata:
labels:
name: backend
spec:
containers:
- args:
- sh
- -c
- ls;
python manage.py makemigrations;
python manage.py migrate;
python manage.py runserver 0.0.0.0:8000;
env:
- name: POSTGRES_USER
value: xxx
- name: POSTGRES_PASSWORD
valueFrom:
configMapKeyRef:
key: DATABASE_PASSWORD
name: backendSecrets
- name: DATABASE_PASSWORD
valueFrom:
configMapKeyRef:
key: DATABASE_PASSWORD
name: backendSecrets
image: myappcrwe.azurecr.io/backend:latest
imagePullPolicy: Always
name: container-backend
ports:
- containerPort: 8000
restartPolicy: Always
serviceAccountName: ""
volumes: null
status: {}
这是我的be-configmap.yaml
:
apiVersion: v1
kind: ConfigMap
metadata:
name: backendSecrets
data:
DEBUG: xxx
SECRET_KEY: xxx
DATABASE_NAME: xxx
DATABASE_USER: xxx
DATABASE_PASSWORD: xxx
DATABASE_PORT: xxx
如果有什么问题,为什么找不到变量,有人可以看看这些吗?
编辑。这是我尝试在 pod 内运行 python manage.py makemigrations
时收到的错误消息:
WARNING: Settings.py: No .env file available
/usr/local/lib/python3.8/site-
packages/django/core/management/commands/makemigrations.py:105:
RuntimeWarning: Got an error checking a consistent migration history
performed for database connection 'default': could not connect to
server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
warnings.warn(
No changes detected