
Это Kubernetes
файл развертывания, который изначально использовал только MongoDB
базу данных. Я попытался добавить MySQL
к нему также, как показано ниже:
apiVersion: apps/v1
kind: Deployment
metadata:
name: auth-depl
spec:
replicas: 1
selector:
matchLabels:
app: auth
template:
metadata:
labels:
app: auth
spec:
containers:
- name: auth
image: learner/auth
env:
- name: MONGO_URI
value: 'mongodb://auth-mongo-srv:27017/auth'
- name: JWT_KEY
valueFrom:
secretKeyRef:
name: jwt-secret
key: JWT_KEY
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: MYSQL_KEY
---
apiVersion: v1
kind: Service
metadata:
name: auth-srv
spec:
selector:
app: auth
ports:
- name: auth
protocol: TCP
port: 3000
targetPort: 3000
Но я не уверен, должен ли я также определить еще один env
для MYSQL_URI
или нет? Что-то вроде:
- name: MYSQL_URI
value: 'mysql://auth-mongo-srv:3306/auth'
решение1
Не требуется создавать отдельную переменную env для MYSQL_URI в файлах yaml при шифровании имени пользователя и пароля для вашей базы данных mysql. Однако, когда вы ссылаетесь на эту базу данных в коде вашего приложения, вам необходимо использовать MYSQL_URI и эти зашифрованные данные для подключения к базе данных Mysql.
Пожалуйста, пройдите этосвязьдля справки по файлу yaml.