【发布时间】:2021-10-25 17:10:37
【问题描述】:
我正在尝试设置对使用 MariaDB PXC 三节点集群设置的外部 MySQL 数据库的访问。
假设我的外部数据库节点有这些 IP 地址
172.16.10.100
172.16.10.101
172.16.10.102
如果其中一个节点出现故障,我希望 Kubernetes 自动将流量路由到仅可用的两个节点。
如果我在 kubernetes 中创建一个简单的服务和端点(如下所示),它会自动进行故障转移吗?
#
# Service
#
kind: Service
apiVersion: v1
metadata:
name: mariadb-service
spec:
clusterIP: None
sessionAffinity: None
ports:
- port: 3306
protocol: TCP
targetPort: 3306
---
#
# Endpoints
#
kind: Endpoints
apiVersion: v1
metadata:
name: mariadb-service
subsets:
- addresses:
- ip: 172.16.10.100
- ip: 172.16.10.101
- ip: 172.16.10.102
ports:
- port: 3306
protocol: TCP
【问题讨论】:
-
您使用的是哪个云提供商?
-
@Bazhikov 没有云提供商,这是一个本地 kubernetes 集群
-
抱歉回复晚了。外部数据库是什么意思,是在集群之外吗?
-
是的,数据库在 Kubernetes 集群之外运行,数据库设置在 3 节点多主集群中,因此如果一个节点发生故障,客户端服务可以切换到其他可用节点来访问数据库。
标签: kubernetes mariadb