Kubernetes服务在数据库(mysql)的情况下如何工作?

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

我是k8的新手,我想创建一个mysql k8服务。

所以,我的问题是,如果我创建具有多个具有mysql数据库的pod的k8服务,将如何插入数据以及如何处理提取请求?

  • 将所有记录同步到所有窗格吗?
  • 在获取时会从所有pod收集记录吗?

经过一番谷歌搜索后,我知道后台发生了一些负载平衡之类的事情……因此,假设是否将一条记录保存到pod1中的mysql数据库中,并且对于http get请求将去pod2获取记录?

所以这样的锻炼方式如何?

 enter image description here

mysql node.js docker database-design kubernetes
1个回答
2
投票

您应该为此目的使用StatefulSet。状态集包括使用内部DNS指定可以通过服务到达的容器的功能。使用名为mysql的状态集通过默认名称空间中的mysql服务公开的示例,可以使用mysql-0.mysql.default.svc.cluster.local到达特定的pod(例如写入主机)。 >

实际上有一个statefulset example专门在kubernetes.io上使用mysql。此示例利用有状态集的属性来确保pod-0将成为您的主服务器,因此您可以可靠地向其发送写入,并将读取请求发送至其中一台只读服务器。

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