gpt4 book ai didi

mysql - Kubernetes-尽管存在服务,但无法从群集内的其他Pod连接到MySQL Pod

转载 作者:行者123 更新时间:2023-12-02 21:33:43 24 4
gpt4 key购买 nike

所以我有一个Kubernetes集群,在其中建立了带有两个Pod的部署。在一个容器中,有一个运行的MySQL容器,在另一个容器中,有一个Ubuntu容器。在Ubuntu容器中,我想执行一个Python脚本,该脚本连接到MySQL容器。
但是当我尝试连接到另一个Pod时,它说:

mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'mysql-service:3306' (111 Connection refused)
我的服务如下所示:
apiVersion: v1
kind: Service
metadata:
name: mysql-service
labels:
app: mysql-db-app
spec:
selector:
app: mysql-db-app
ports:
- port: 3306
targetPort: 3306
这是我的mysql-deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
io.kompose.service: mysql-db-app
name: mysql-db-app
spec:
selector:
matchLabels:
io.kompose.service: mysql-db-app
strategy: {}
template:
metadata:
labels:
io.kompose.service: mysql-db-app
spec:
containers:
- image: mysql:8
name: mysql-db-app
env:
- name: MYSQL_ROOT_PASSWORD
value: root
ports:
- containerPort: 3306
volumeMounts:
- mountPath: /var/lib/mysql
name: mysql-data
volumes:
- name: mysql-data
persistentVolumeClaim:
claimName: mysql-pvc
restartPolicy: Always
你知道如何解决这个问题吗?

最佳答案

标签选择器似乎有问题。
将您的服务更新为此

apiVersion: v1
kind: Service
metadata:
name: mysql-service
labels:
io.kompose.service: mysql-db-app
spec:
selector:
io.kompose.service: mysql-db-app
ports:
- port: 3306
targetPort: 3306
服务标签选择器应与Deployment.yaml中定义的标签选择器匹配

关于mysql - Kubernetes-尽管存在服务,但无法从群集内的其他Pod连接到MySQL Pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63932282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com