Kubernetes Django无法通过AKS群集中的群集IP和节点端口连接到MySQL pod
我在Azure上有一个Kubernetes集群,我创建了MySQL pod和Django pod。我将MySQL pod公开为服务,并尝试从Django连接。我已经在Django的settings.py文件中给出了服务名称,并尝试运行“runserver”,然后我发现下面的错误 操作错误:(2003,“无法连接到'mysqlserv'(111)上的MySQL服务器” 如果我尝试使用“mysql”命令连接,那么它就可以工作了。下面是我使用的命令 “mysql-hmysqlerv-uroot-p” 但令人惊讶的是,如果我在Django pod的/etc/hosts文件(比如10.144.1.5 mysqlserv)中提供Mysql pod IP,那么“runserver”就可以工作了 有人能帮我连接Django pod和mysql pod over service(群集IP) 下面是我的sql server yaml文件Kubernetes Django无法通过AKS群集中的群集IP和节点端口连接到MySQL pod,kubernetes,azure-aks,Kubernetes,Azure Aks,我在Azure上有一个Kubernetes集群,我创建了MySQL pod和Django pod。我将MySQL pod公开为服务,并尝试从Django连接。我已经在Django的settings.py文件中给出了服务名称,并尝试运行“runserver”,然后我发现下面的错误 操作错误:(2003,“无法连接到'mysqlserv'(111)上的MySQL服务器” 如果我尝试使用“mysql”命令连接,那么它就可以工作了。下面是我使用的命令 “mysql-hmysqlerv-uroot-p”
apiVersion: v1
kind: Pod
metadata:
name: sqlpod
labels:
app: demo
env: test
spec:
containers:
- name: sqlapp-tester-custom
image: mydockerregistry.com/mysql:5.7
env:
- name: SQL_HOST_NAME
value: sqlapp-tester-custom
- name: MYSQL_DATABASE
value: myapp1_db
- name: MYSQL_ROOT_PASSWORD
value: myownPassword123
ports:
- name: sqlport
containerPort: 3306
protocol: TCP
volumeMounts:
- name: azurefile
mountPath: /sql_data
volumes:
- name: azurefile
azureFile:
secretName: myazure-secret-name
shareName: my_azure_file_share_name
readOnly: false
如果pod重新启动或重新创建,clusterip将更改。最好使用服务名称 Kubernetes服务: 您可以查看mysql运行示例: 示例服务yaml:
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
clusterIP: None
我建议用wordpress检查一下Mysql的例子:clusterip会在pod重新启动或重新创建时发生变化。最好使用服务名称。您好,您能分享您的Mysql服务器部署yaml清单吗?@PiotrMalec,谢谢您的回复,我已经添加了我上面的主要问题。@HarshManvar,您好,谢谢您的回复,这就是我来这里了解如何使用服务名的原因。