如何在 Kubernetes 集群上访问 MySQL?

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

我已经在我的 Kubernetes 集群中部署了 MySQL。它工作正常。但我不知道如何访问或连接 MySQL 服务到其他应用程序。我发现 MySQL 部署不受浏览器支持。 当我在浏览器上使用

IP:nodeport
调用MySQL服务器时,发现如下错误:

J���
5.7.37����!bo.;�ÿÿ�ÿÁ����������rBPvNbCJ�mysql_native_password�!��ÿ„#08S01Got packets out of order

我可以使用 MySQL 用户和密码通过 Kubernetes 仪表板的 pod shell 访问 MySQL 服务器。

mysql kubernetes database-connection
1个回答
1
投票

您可以尝试在 Kubernetes 上部署 MySQL 客户端并使用它进行连接。

MySQL 客户端,例如:Adminer、phpMyadmin 等

管理员示例:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: adminer
  labels:
    app: adminer
spec:
  selector:
    matchLabels:
      app: adminer
  template:
    metadata:
      labels:
        app: adminer
    spec:
      containers:
        - name: adminer
          image: adminer:4.6.3
          ports:
            - containerPort: 8080
          env:
            - name: ADMINER_DESIGN
              value: "pappu687"
---
apiVersion: v1
kind: Service
metadata:
  name: adminer-svc
spec:
  selector:
    app: adminer
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080

您可以使用服务类型 NodeportPort forwarding 公开此部署。

kubectl port-forward svc/adminer-svc 8080:8080

打开

localhost:8080

服务公开后,您可以在浏览器中访问 UI,然后您可以从那里通过 服务名称访问 MySQL 数据库。

阅读更多关于管理员的信息:https://www.adminer.org/

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