我想知道同一个Kubernetes集群中的多个pod是否可以访问使用Google云持久磁盘上的持久卷配置的数据库。
目前我正在构建一个微服务架构Web应用程序,它在不同的pod中有3个节点api,它们都访问同一个数据库。那么我如何用kubernetes实现这一目标。
推荐回答:
您当然可以将多个基于节点的应用程序窗格连接到同一个数据库。有时候说微服务不应该共享数据库,但这取决于你的应用程序在做什么,项目历史以及你希望单独处理这些部分的程度。
对于大规模运行数据库,您需要回答一些问题,例如未来的负载以及是否要在尝试跨越可用区时使用关系数据库。还有一些特定于kubernetes,特别是关于如何将DB Pod与数据相关联。请参阅https://stackoverflow.com/a/53980021/9705485。另一个流行的选择是使用云提供商提供的托管数据库服务。如果你在k8s中运行数据库,那么我建议寻找一个舵图或查看一个运算符,例如kubeDB运算符,以避免自己制作kubernetes描述符并获得有关运行数据库和设置它的更多指导。
如果它是一个新项目,并且您之前没有使用过k8s,那么您还必须决定托管代码的位置,docker镜像和部署描述符以及如何设置CI管道。如果您还没有得到这些问题的答案,那么我建议您查看Jenkins-X,因为它将为您提供整个群集的开箱即用默认设置和CI设置以及用于构建的模板('构建包')节点应用程序并通过管道将它们部署到登台和prod环境。
官方帮助文档地址:阿里云帮助中心
更多参考: 阿里云官方(新用户需官网注册查看)
您当然可以将多个基于节点的应用程序窗格连接到同一个数据库。有时候说微服务不应该共享数据库,但这取决于你的应用程序在做什么,项目历史以及你希望单独处理这些部分的程度。
对于大规模运行数据库,您需要回答一些问题,例如未来的负载以及是否要在尝试跨越可用区时使用关系数据库。还有一些特定于kubernetes,特别是关于如何将DB Pod与数据相关联。请参阅https://stackoverflow.com/a/53980021/9705485。另一个流行的选择是使用云提供商提供的托管数据库服务。如果你在k8s中运行数据库,那么我建议寻找一个舵图或查看一个运算符,例如kubeDB运算符,以避免自己制作kubernetes描述符并获得有关运行数据库和设置它的更多指导。
如果它是一个新项目,并且您之前没有使用过k8s,那么您还必须决定托管代码的位置,docker镜像和部署描述符以及如何设置CI管道。如果您还没有得到这些问题的答案,那么我建议您查看Jenkins-X,因为它将为您提供整个群集的开箱即用默认设置和CI设置以及用于构建的模板('构建包')节点应用程序并通过管道将它们部署到登台和prod环境。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。