summaryrefslogtreecommitdiffstats
path: root/roles/contiv/templates/etcd-daemonset.yml.j2
blob: 76937e670c42ce8653ce6aacbfab823ec6e925c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
---
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: contiv-etcd
  namespace: kube-system
spec:
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      name: contiv-etcd
  template:
    metadata:
      namespace: kube-system
      labels:
        name: contiv-etcd
      annotations:
        scheduler.alpha.kubernetes.io/critical-pod: ""
    spec:
      serviceAccountName: contiv-etcd
      hostNetwork: true
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
{% for node in groups.oo_masters_to_config %}
                  - "{{ node }}"
{% endfor %}
      tolerations:
        - key: node-role.kubernetes.io/master
          effect: NoSchedule
      initContainers:
        - name: contiv-etcd-init
          image: "{{ contiv_etcd_init_image_repo }}:{{ contiv_etcd_init_image_tag }}"
          env:
            - name: ETCD_INIT_ARGSFILE
              value: "{{ contiv_etcd_conf_dir }}/contiv-etcd-args"
            - name: ETCD_INIT_LISTEN_PORT
              value: "{{ contiv_etcd_port }}"
            - name: ETCD_INIT_PEER_PORT
              value: "{{ contiv_etcd_peer_port }}"
            - name: ETCD_INIT_CLUSTER
              value: "{{ contiv_etcd_peers }}"
            - name: ETCD_INIT_DATA_DIR
              value: "{{ contiv_etcd_data_dir }}"
          volumeMounts:
            - name: contiv-etcd-conf-dir
              mountPath: "{{ contiv_etcd_conf_dir }}"
          securityContext:
            runAsUser: "{{ contiv_etcd_system_uid }}"
            fsGroup: "{{ contiv_etcd_system_gid }}"
      containers:
        - name: contiv-etcd
          image: "{{ contiv_etcd_image_repo }}:{{ contiv_etcd_image_tag }}"
          command:
            - sh
            - -c
            - 'exec etcd $(cat "$ETCD_INIT_ARGSFILE")'
          env:
            - name: ETCD_INIT_ARGSFILE
              value: "{{ contiv_etcd_conf_dir }}/contiv-etcd-args"
          volumeMounts:
            - name: contiv-etcd-conf-dir
              mountPath: "{{ contiv_etcd_conf_dir }}"
            - name: contiv-etcd-data-dir
              mountPath: "{{ contiv_etcd_data_dir }}"
          securityContext:
            runAsUser: "{{ contiv_etcd_system_uid }}"
            fsGroup: "{{ contiv_etcd_system_gid }}"
      volumes:
        - name: contiv-etcd-data-dir
          hostPath:
            type: DirectoryOrCreate
            path: "{{ contiv_etcd_data_dir }}"
        - name: contiv-etcd-conf-dir
          hostPath:
            type: DirectoryOrCreate
            path: "{{ contiv_etcd_conf_dir }}"