您可以使用运营商(来自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。你可以在那里找到更多的文档。
您正在使用'apiVersion:etcd.coreos.com/v1beta1'和'kind:Cluster',而etcd-operator示例使用'apiVersion:etcd.database.coreos.com/v1beta2'和'kind:EtcdCluster'。有什么区别? https://github.com/coreos/etcd-operator/blob/master/example/example-etcd-cluster.yaml – akauppi