Невозможно создать модуль kunerbetes pod из контейнера докеров
Я создал простое приложение на Python, которое считывает и отображает значение из базы данных SQL. Я создал отдельные контейнеры докеров для приложения и базы данных SQL, и приложение работает должным образом. Ниже мой Dockerfile для приложения. Я передаю учетные данные как переменные среды в приложение Python.
FROM laudio/pyodbc:1.0.4
WORKDIR /pythonappsource
ARG A_DB_SERVER_NAME=""
ARG A_DB_NAME=""
ARG A_DB_USERNAME=""
ARG A_DB_PASSWORD=""
ENV DB_SERVER_NAME=$A_DB_SERVER_NAME
ENV DB_NAME=$A_DB_NAME
ENV DB_USERNAME=$A_DB_USERNAME
ENV DB_PASSWORD=$A_DB_PASSWORD
ADD PythonApp.py .
CMD ["python", "PythonApp.py"]
Теперь я пытаюсь добавить контейнер докеров в контейнеры кубернетов. Модуль базы данных SQL отлично работает без каких-либо проблем. Но модуль для приложения python не запускается. Он разбился с ошибкой ниже:
Отслеживание (последний вызов последним): файл «PythonApp.py», строка 3, в cnxn = pyodbc.connect('DRIVER={драйвер ODBC 17 для SQL Server};SERVER=;PORT=1433;DATABASE=;UID=;PWD=')pyodbc.OperationalError: ('HYT00','[HYT00] [Microsoft][драйвер ODBC 17 для SQL Server] Истекло время ожидания входа в систему (0) (SQLDriverConnect)')
Я создал службу для предоставления базы данных приложению Python. Ниже приведен код услуги.
apiVersion: v1
kind: Service
metadata:
name: db-service
spec:
ports:
- protocol: TCP
port: 1433
targetPort: 1433
Ниже приведен файл развертывания приложения Python.
apiVersion: apps/v1
kind: Deployment
metadata:
name: pythonapp-depl
labels:
app: pythonapp-depl
spec:
replicas: 1
selector:
matchLabels:
app: pythonapp-depl
template:
metadata:
labels:
app: pythonapp-depl
spec:
containers:
- image: repository:image
name: pythonapp-depl
env:
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: db-secret
key: db_username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: db-secret
key: db_password
- name: DB_SERVER_NAME
valueFrom:
configMapKeyRef:
name: db-configmap
key: database_url
- name: DB_NAME
valueFrom:
configMapKeyRef:
name: db-configmap
key: database_name
Я новичок в докере Kubernetes, поэтому знаю, что упускаю что-то очень глупое. Любая помощь приветствуется.
Спасибо!