Kubernetes-尽管服务存在,但无法从集群内的其他pod连接到MySQL pod
所以我有一个Kubernetes集群,我在其中设置了一个带有两个吊舱的部署。在一个pod中,有一个MySQL容器正在运行,在另一个pod中有一个Ubuntu容器。在Ubuntu容器中,我想执行一个Python脚本,它连接到MySQL容器 但当我尝试连接到另一个吊舱时,它说:Kubernetes-尽管服务存在,但无法从集群内的其他pod连接到MySQL pod,mysql,docker,kubernetes,Mysql,Docker,Kubernetes,所以我有一个Kubernetes集群,我在其中设置了一个带有两个吊舱的部署。在一个pod中,有一个MySQL容器正在运行,在另一个pod中有一个Ubuntu容器。在Ubuntu容器中,我想执行一个Python脚本,它连接到MySQL容器 但当我尝试连接到另一个吊舱时,它说: mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'mysql-service:3306' (111 Connecti
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
服务标签选择器应与部署中定义的标签选择器相匹配。yaml您的mysql容器是否正常运行?您还可以粘贴mysql pod的deployment.yaml吗?deployment.yaml吗@AvinashKumaryes@johnson-hudson为什么缺少mysql服务的服务类型?你能试试clusterIP吗?clusterIP不能帮助@AvinashKumarIT工作!必须删除已删除的上一个答案的
type:CluserIP