Kubernetes MySQL连接超时

问题描述 投票:0回答:1

我已经为MySQL设置了Kubernetes部署和服务。我无法使用其DNS名称从任何pod访问MySQL服务...它只是超时。任何其他端口立即拒绝连接,但我的服务配置中的端口在约10秒后超时。

  1. 我能够解析MySQL Pod DNS。
  2. 我不能ping主机。

Service.yml

apiVersion: v1
kind: Service
metadata:
  name: mysql-service
  labels:
    run: mysql-service
spec:
  ports:
  - port: 3306
    protocol: TCP
  - port: 3306
    protocol: UDP
  selector:
    run: mysql-service

Deployment.yml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql-service
  labels:
    app: mysql-service
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mysql-service
  template:
    metadata:
      labels:
        app: mysql-service
    spec:
      containers:
      - name: 'mysql-service'
        image: mysql:5.5
        env:
          - name: MYSQL_ROOT_PASSWORD
            value: some_password
          - name: MYSQL_DATABASE
            value: some_database
        ports:
          - containerPort: 3306
kubernetes
1个回答
2
投票

您的部署(更具体地说是其pod规范)说

labels:
  app: mysql-service

但你的服务说

selector:
  run: mysql-service

这些不匹配,因此您的服务未附加到pod。你应该看到这个,如果你kubectl describe service mysql-service,“端点”列表将是空的。

更改服务的选择器以匹配pod的标签(反之亦然),这应该更好。

© www.soinside.com 2019 - 2024. All rights reserved.