gpt4 book ai didi

postgresql - 具有单独主机名/ip 的 Kubernetes Citus 设置

转载 作者:行者123 更新时间:2023-11-29 12:52:10 28 4
gpt4 key购买 nike

我正在学习 Kubernetes 以期使用 Citus DB 设置一个简单的集群,但我在进行过程中遇到了一些麻烦,因此非常感谢您的帮助。

我有一个 docker 镜像,其中包含为项目的 Citus 配置的基本 debian 镜像,此时我想用一个主服务器设置它,它应该安装一个带有 Postgres 数据库的 GCP 主磁盘,然后我将在其他容器之间分发,每个容器都安装了一个单独的磁盘,其中包含空表(配置了 Citus 扩展)以保存分发给每个容器的内容。我想在某个时候进一步自动化它,但现在我的目标只是一个主容器和八个节点。我的计划是创建一个在每个节点上打开端口 5432 和 80 的部署,并且我认为我可以创建两个 pod,一个用于容纳主节点,一个用于容纳八个节点。理想情况下,我想挂载所有磁盘,然后在主服务器上运行挂载后脚本,它将找到所有节点容器(通过 IP 或主机名??),将它们添加为 Citus 节点,然后运行 ​​create_distributed_table 来分发数据.

我目前的困惑是如何标记所有单独的节点,以便它们保留其内部地址或主机名,因此在一个发生故障的情况下,它将被替换并恢复为 PD 上的数据。我已经阅读了有关 ConfigMaps 和设置主机名别名的信息,但我仍然不清楚如何进行。这是可能的,还是这种设置的错误方法?

最佳答案

您正在寻找 StatefulSet .这让您拥有已知数量的 pod 副本;带有附加存储(PersistentVolumes);和一致的 DNS 名称。在 pod 规范中,我将只启动服务器的一个副本,并使用 StatefulSet 的副本计数来控制“节点”(也是 Kubernetes 术语)的数量,如果副本是 #0,那么它就是主节点。

关于postgresql - 具有单独主机名/ip 的 Kubernetes Citus 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51391026/

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