9阅网

您现在的位置是:首页 > 知识 > 正文

知识

kubernetes - 我如何为kubernetes集群设置一个h2?

admin2022-10-16知识25

H2是一个开源的轻量级Java数据库.基本上,我试图构建一个DevOps管道,但对于Kubernetes部分,我需要在本地将h2数据库挂到pod上,而不是使用aws rds进行类似的事情。 有什么想法,如何配置这个?



【回答】:

当你说你需要在每个pod中本地挂接h2时,有点不清楚你的意思是整体1个h2还是每个pod1个。 我假设你需要的是服务器H2,而不是嵌入式H2。

如果你的要求是让所有的pod都与同一个H2实例对话,你可以创建一个以服务器模式运行H2的容器,并在Deployment中运行它。 您可以 还需要一个Service来暴露集群内的数据库端口。 参见 https:/kubernetes.iodocsconceptsservices-networkingconnect-applicationsservice#accessing-the-service。 以获得一些细节。

你可能还希望在运行H2时有一个支持数据库的文件,除非你能在它的pod重启时通过其他魔法重新创建数据库的内容。 为了使该文件在H2重启时持久化,你需要提供一个持久化卷和持久化卷绑定。 PVs的细节是Kubernetes平台特有的。 https:/kubernetes.iodocsconceptsstoragepersistent-volumes。

如果您不需要单个 H2,而是在每个 pod 中都需要一个,您可以在每个 pod 中运行一个 H2 容器,与其他容器相邻。或者,如果你不想在容器中使用H2,你可以在Deployment的主容器命令中分叉一个H2服务器。(虽然很丑陋,但并不是真正的Kubernetes方式。)你可以在Deployment的主容器命令中分叉一个H2服务器。不会 在这种情况下,你需要一个服务,因为你要在本地连接到H2的花苞。 但我认为你会有一个真正的噩梦,管理持久卷,以保持每个Pod的H2数据库,假设你需要持久存储。

最终,你可能会决定RDS更容易... ...