如何解决SQLAlchemy无法连接到Kubernetes中localhost上的Mysql服务器
我在Kubernetes中部署了MysqL服务,并创建了一个具有所有特权的数据库(db1)和一个自定义用户(由'bar'标识的'foo'@'localhost')。我可以验证。
但是我的Flask应用程序无法以某种方式连接到它。所以,我打开了调试模式,并得到了
sqlalchemy.exc.OperationalError
sqlalchemy.exc.OperationalError: (pyMysqL.err.OperationalError) (2003,"Can't connect to MysqL server on 'localhost' ([Errno 99] Address not available)")
(Background on this error at: http://sqlalche.me/e/13/e3q8)
这在Linux机器上永远不会发生。这是我的DATABASE_URL MysqL+pyMysqL://foo:bar@localhost:3306/db1
我做错了什么吗?我是kubernetes的新手,我什至不知道如何调试它。如果我没有提供足够的信息,请通知我。
谢谢。
[编辑]
MysqL-deployment.yaml
apiVersion: apps/v1
kind: Deployment
Metadata:
name: MysqL
labels:
app: MysqL
spec:
replicas: 1
selector:
matchLabels:
app: MysqL
template:
Metadata:
labels:
app: MysqL
spec:
containers:
- image: MysqL:5.6
name: MysqL
env:
- name: MysqL_ROOT_PASSWORD
value: "123"
ports:
- containerPort: 3306
name: MysqL
volumeMounts:
- name: MysqL-persistent-storage
mountPath: /var/lib/MysqL
volumes:
- name: MysqL-persistent-storage
persistentVolumeClaim:
claimName: MysqL-volumeclaim
MysqL-service.yaml
apiVersion: v1
kind: Service
Metadata:
name: MysqL
labels:
app: MysqL
spec:
type: ClusterIP
ports:
- port: 3306
selector:
app: MysqL
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。