gpt4 book ai didi

mysql - kubernetes 中的 HAProxy 连接 galera 集群

转载 作者:行者123 更新时间:2023-12-04 13:25:02 25 4
gpt4 key购买 nike

我想从 haproxy 连接 Galera 集群pod 部署在 kubernetes 中。
镜像的 Docker 文件。

FROM haproxy:2.3
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
haproxy.cfg文件
defaults
log global
mode tcp
retries 10
timeout client 10000
timeout connect 100500
timeout server 10000
frontend mysql-router-service
bind *:6446
mode tcp
option tcplog
default_backend galera_cluster_backend
# MySQL Cluster BE configuration
backend galera_cluster_backend
mode tcp
#option mysql-check user haproxy
option tcp-check
balance source
server mysql_cluster_01 192.168.1.2:3306 check weight 1
server mysql_cluster_02 192.168.1.3:3306 check weight 1
server mysql_cluster_03 192.168.1.4:3306 check weight 1
这里 mysql-router-service可能会误导,但我们使用它,因为它是早期的数据库连接服务。
Kubernetes 部署 list
apiVersion: apps/v1
kind: Deployment
metadata:
name: ha-proxy
namespace: mysql-router
spec:
replicas: 1
selector:
matchLabels:
app: ha-proxy
template:
metadata:
labels:
app: ha-proxy
version: v1
spec:
imagePullSecrets:
- name: dreg
containers:
- name: ha-proxy
image: our-registry:5000/haproxy:v14
imagePullPolicy: Always
ports:
- containerPort: 6446
Kubernetes 服务 list :
apiVersion: v1
kind: Service
metadata:
name: mysql-router-service
namespace: mysql-router
labels:
app: ha-proxy
spec:
selector:
app: ha-proxy
version: v1
ports:
- name: ha-proxy
port: 6446
protocol: TCP
targetPort: 6446
type: LoadBalancer
loadBalancerIP: 192.168.1.101
以下是在 ha-proxy 中看到的 pods 日志
[WARNING] 237/114804 (1) : config : log format ignored for frontend 'mysql-router-service' since it has no log address.
[NOTICE] 237/114804 (1) : New worker #1 (8) forked
如果我们使用 option mysql-check user haproxy在配置文件中,Galera 日志 /var/log/mysql/error.log
[Warning] Access denied for user 'haproxy'@'192.168.1.10' (using password NO)
这里 192.168.1.10是 k8 worker 之一。
在 galera 集群中,我们有以下用户
+---------------+-------------+
| Host | User |
+---------------+-------------+
| 192.168.1.% | haproxy |
| localhost | mariadb.sys |
| localhost | mysql |
| localhost | root |
+---------------+-------------+
所有节点都在运行 Ubuntu 18-04 , ufw被禁用。
我们可以从 k8 worker telnet 到 galera 节点。 (telnet 192.168.1.2 3306)
我们在这里错过了什么?

最佳答案

取决于 :[Warning] Access denied for user 'haproxy'@'192.168.1.10' (using password NO)我认为您必须为用户设置密码:haproxy .

关于mysql - kubernetes 中的 HAProxy 连接 galera 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68938367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com