gpt4 book ai didi

kubernetes - 如何在 pod 副本之间运行 etcd 集群?

转载 作者:行者123 更新时间:2023-12-04 08:33:38 26 4
gpt4 key购买 nike

我有一个 pod/service 运行一个应用程序,该应用程序使用 etcd 作为同步系统和数据存储。我想在 pod 中运行 etcd,以便所有副本形成一个连贯的集群。换句话说,因此副本#1 中的应用程序可以将“foo”写入localhost:4001/v2/keys/my_key然后副本 #2 可以读取 localhost:4001/v2/keys/my_key结果得到“foo”。

目前尚不清楚如何做到这一点,因为 pod 副本不能单独寻址。理论上我可以创建一个暴露集群端口的“etcd”服务,但任何请求都会循环到所有副本,因此各个 etcd 节点将无法找到彼此。

我是否以正确的方式解决这个问题?

最佳答案

您可以使用 Operator(来自 extensions/v1beta1)和 quay.io/coreos/etcd-operator 在 kubernetes 上部署 etcd。图片。

集群大小为 3 的示例部署如下所示:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: etcd-operator
spec:
replicas: 1
template:
metadata:
name: etcd-operator
labels:
app: etcd
component: operator
spec:
containers:
- name: etcd-operator
image: quay.io/coreos/etcd-operator:v0.3.0
env:
- name: MY_POD_NAMESPACE
valueFrom: { fieldRef: { fieldPath: metadata.namespace } }
- name: MY_POD_NAME
valueFrom: { fieldRef: { fieldPath: metadata.name } }

---

apiVersion: etcd.coreos.com/v1beta1
kind: Cluster
metadata:
name: etcd-cluster
labels:
app: etcd
component: cluster
spec:
size: 3
version: "3.1.8"

请注意 测试状态 这个项目的。然而,根据维护者的说法,运营商是 现在稳定 .我已经成功部署了上面的配置,但我没有在生产中运行任何这些。

运营商代码可用 on github .您可以在那里找到其他文档。

关于kubernetes - 如何在 pod 副本之间运行 etcd 集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32703348/

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