0

我有一个 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 但我得到了相同的结果。我错过了什么?

4

2 回答 2

2

您可以考虑使用 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

于 2022-02-07T02:38:46.973 回答
1

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

于 2022-02-07T02:34:43.240 回答