2 # This manifest installs the Calico etcd on the kubeadm master. This uses a DaemonSet
3 # to force it to run on the master even when the master isn't schedulable, and uses
4 # nodeSelector to ensure it only runs on the master.
5 apiVersion: extensions/v1beta1
8 name: calico-etcd-arm64
18 # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler
19 # reserves resources for critical add-on pods so that they can be rescheduled after
20 # a failure. This annotation works in tandem with the toleration below.
21 scheduler.alpha.kubernetes.io/critical-pod: ''
24 # This taint is set by all kubelets running `--cloud-provider=external`
25 # so we should tolerate it to schedule the Calico pods
26 - key: node.cloudprovider.kubernetes.io/uninitialized
29 # Allow this pod to run on the master.
30 - key: node-role.kubernetes.io/master
32 # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode.
33 # This, along with the annotation above marks this pod as a critical add-on.
34 - key: CriticalAddonsOnly
36 # Only run this pod on the master.
38 node-role.kubernetes.io/master: ""
39 beta.kubernetes.io/arch: arm64
43 image: quay.io/coreos/etcd:v3.3.9-arm64
45 - name: CALICO_ETCD_IP
48 fieldPath: status.podIP
49 - name: ETCD_UNSUPPORTED_ARCH
55 - --data-dir=/var/etcd/calico-data
56 - --advertise-client-urls=http://$(CALICO_ETCD_IP):6666
57 - --listen-client-urls=http://0.0.0.0:6666
58 - --listen-peer-urls=http://0.0.0.0:6667
59 - --auto-compaction-retention=1
69 # This manifest installs the Calico etcd on the kubeadm master. This uses a DaemonSet
70 # to force it to run on the master even when the master isn't schedulable, and uses
71 # nodeSelector to ensure it only runs on the master.
72 apiVersion: extensions/v1beta1
75 name: calico-etcd-amd64
76 namespace: kube-system
85 # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler
86 # reserves resources for critical add-on pods so that they can be rescheduled after
87 # a failure. This annotation works in tandem with the toleration below.
88 scheduler.alpha.kubernetes.io/critical-pod: ''
91 # This taint is set by all kubelets running `--cloud-provider=external`
92 # so we should tolerate it to schedule the Calico pods
93 - key: node.cloudprovider.kubernetes.io/uninitialized
96 # Allow this pod to run on the master.
97 - key: node-role.kubernetes.io/master
99 # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode.
100 # This, along with the annotation above marks this pod as a critical add-on.
101 - key: CriticalAddonsOnly
103 # Only run this pod on the master.
105 node-role.kubernetes.io/master: ""
106 beta.kubernetes.io/arch: amd64
110 image: quay.io/coreos/etcd:v3.3.9
112 - name: CALICO_ETCD_IP
115 fieldPath: status.podIP
117 - /usr/local/bin/etcd
120 - --data-dir=/var/etcd/calico-data
121 - --advertise-client-urls=http://$(CALICO_ETCD_IP):6666
122 - --listen-client-urls=http://0.0.0.0:6666
123 - --listen-peer-urls=http://0.0.0.0:6667
124 - --auto-compaction-retention=1
135 # This manifest installs the Service which gets traffic to the Calico
143 namespace: kube-system
145 # Select the calico-etcd pod running on the master.
148 # This ClusterIP needs to be known in advance, since we cannot rely
149 # on DNS to get access to etcd.
150 clusterIP: 10.96.232.136