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