blob: ae2f756219c6b00d06e4dcd8632cf5ff37b93ab1 [file] [log] [blame]
package kube
service: etcd: spec: {
clusterIP: "None"
ports: [{
}, {
name: "peer"
}]
}
statefulSet: etcd: spec: {
serviceName: "etcd"
replicas: 3
template: {
metadata: annotations: {
"prometheus.io.scrape": "true"
"prometheus.io.port": "2379"
}
spec: {
affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: [{
labelSelector: matchExpressions: [{
key: "app"
operator: "In"
values: [
"etcd",
]
}]
topologyKey: "kubernetes.io/hostname"
}]
terminationGracePeriodSeconds: 10
containers: [{
image: "quay.io/coreos/etcd:v3.3.10"
ports: [{
name: "client"
containerPort: 2379
}, {
name: "peer"
containerPort: 2380
}]
livenessProbe: {
httpGet: {
path: "/health"
port: "client"
}
initialDelaySeconds: 30
}
volumeMounts: [{
name: "etcd3"
mountPath: "/data"
}]
env: [{
name: "ETCDCTL_API"
value: "3"
}, {
name: "ETCD_AUTO_COMPACTION_RETENTION"
value: "4"
}, {
name: "NAME"
valueFrom: fieldRef: fieldPath: "metadata.name"
}, {
name: "IP"
valueFrom: fieldRef: fieldPath: "status.podIP"
}]
command: ["/usr/local/bin/etcd"]
args: [
"-name",
"$(NAME)",
"-data-dir",
"/data/etcd3",
"-initial-advertise-peer-urls",
"http://$(IP):2380",
"-listen-peer-urls",
"http://$(IP):2380",
"-listen-client-urls",
"http://$(IP):2379,http://127.0.0.1:2379",
"-advertise-client-urls",
"http://$(IP):2379",
"-discovery",
"https://discovery.etcd.io/xxxxxx",
]
}]
}
}
// bootstrap
// "-initial-cluster-token", "etcd-prod-events2",
volumeClaimTemplates: [{
metadata: {
name: "etcd3"
annotations: "volume.alpha.kubernetes.io/storage-class": "default"
}
spec: {
accessModes: ["ReadWriteOnce"]
resources: requests: storage: "10Gi"
}
}]
}