如何从 Helm 安装外部访问 MariaDb

How can I access MariaDb outside from Helm installation

我安装了 RKE2 kube,3 个节点,我从 BitNami 存储库安装了 MariaDB:

- name: mariadb
  repository: https://charts.bitnami.com/bitnami
  version: 10.3.2

它在我的 kube 安装中正确启动,但我需要从集群外部访问它,以我的 Navicat 客户端为例。

这是我的values.yaml:

mariadb:
  clusterDomain: a4b-kube.local
  auth:
    rootPassword: "password"
    replicationPassword: "password"
  architecture: replication
  primary:
    service:
      type: LoadBalancer
      loadBalancerIP: mariadb.acme.com
  secondary:
    replicaCount: 2

列出我看到的服务:

NAME                         TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
a4b-test-mariadb-primary     LoadBalancer   10.43.171.45   <pending>     3306:31379/TCP   48m

并且外部 IP 永远不会更新,我也尝试指定一个 IP 而不是 dns,在我的例子中是 192.168.113.120 但我得到了相同的结果。我错过了什么?

您需要一个入口控制器来设置 EXTERNAL-IP。但是如果你无意将数据库暴露在互联网上;并且集群节点可以通过网络访问您的客户端应用程序,您可以使用 NodePort 而不是 LoadBalancer。然后,您可以使用集群外部的节点端口通过 3 个节点中的任何一个连接到您的数据库。

您可以考虑使用 NodePort

mariadb:
  clusterDomain: a4b-kube.local
  auth:
    rootPassword: "password"
    replicationPassword: "password"
  architecture: replication
  primary:
    service:
      type: NodePort
      nodePort: 32036
  secondary:
    replicaCount: 2

nodePort: 32036 您可以在 30000 - 32767 范围内选择(默认)
然后,您可以通过 nodeIP:nodePort

访问