您可以使用運營商(來自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