github.com/m3db/m3@v1.5.1-0.20231129193456-75a402aa583b/kube/etcd.yaml (about)

     1  apiVersion: v1
     2  kind: Service
     3  metadata:
     4    name: etcd
     5    labels:
     6      app: etcd
     7    namespace: m3db
     8  spec:
     9    ports:
    10    - port: 2379
    11      name: client
    12    - port: 2380
    13      name: peer
    14    clusterIP: None
    15    selector:
    16      app: etcd
    17  ---
    18  apiVersion: v1
    19  kind: Service
    20  metadata:
    21    name: etcd-cluster
    22    labels:
    23      app: etcd
    24    namespace: m3db
    25  spec:
    26    selector:
    27      app: etcd
    28    ports:
    29    - port: 2379
    30      protocol: TCP
    31    type: ClusterIP
    32  ---
    33  apiVersion: apps/v1
    34  kind: StatefulSet
    35  metadata:
    36    name: etcd
    37    labels:
    38      app: etcd
    39    namespace: m3db
    40  spec:
    41    serviceName: "etcd"
    42    replicas: 3
    43    selector:
    44      matchLabels:
    45        app: etcd
    46    template:
    47      metadata:
    48        labels:
    49          app: etcd
    50      spec:
    51        containers:
    52        - name: etcd
    53          image: quay.io/coreos/etcd:v3.4.3
    54          command:
    55          - "etcd"
    56          - "--name"
    57          - "$(MY_POD_NAME)"
    58          - "--listen-peer-urls"
    59          - "http://$(MY_IP):2380"
    60          - "--listen-client-urls"
    61          - "http://$(MY_IP):2379,http://127.0.0.1:2379"
    62          - "--advertise-client-urls"
    63          - "http://$(MY_POD_NAME).etcd:2379"
    64          - "--initial-cluster-token"
    65          - "etcd-cluster-1"
    66          - "--initial-advertise-peer-urls"
    67          - "http://$(MY_POD_NAME).etcd:2380"
    68          - "--initial-cluster"
    69          - "etcd-0=http://etcd-0.etcd:2380,etcd-1=http://etcd-1.etcd:2380,etcd-2=http://etcd-2.etcd:2380"
    70          - "--initial-cluster-state"
    71          - "new"
    72          - "--data-dir"
    73          - "/var/lib/etcd"
    74          ports:
    75          - containerPort: 2379
    76            name: client
    77          - containerPort: 2380
    78            name: peer
    79          volumeMounts:
    80          - name: etcd-data
    81            mountPath: /var/lib/etcd
    82          env:
    83          - name: MY_IP
    84            valueFrom:
    85              fieldRef:
    86                fieldPath: status.podIP
    87          - name: MY_POD_NAME
    88            valueFrom:
    89              fieldRef:
    90                fieldPath: metadata.name
    91          - name: ETCDCTL_API
    92            value: "3"
    93    volumeClaimTemplates:
    94      - metadata:
    95          name: etcd-data
    96        spec:
    97          accessModes:
    98            - ReadWriteOnce
    99          storageClassName: fast
   100          resources:
   101            requests:
   102              storage: 50Gi