1 # This manifest installs the Calico etcd on the kubeadm master. This uses a DaemonSet
2 # to force it to run on the master even when the master isn't schedulable, and uses
3 # nodeSelector to ensure it only runs on the master.
4 apiVersion: extensions/v1beta1
17 # Mark this pod as a critical add-on; when enabled, the critical add-on scheduler
18 # reserves resources for critical add-on pods so that they can be rescheduled after
19 # a failure. This annotation works in tandem with the toleration below.
20 scheduler.alpha.kubernetes.io/critical-pod: ''
23 # This taint is set by all kubelets running `--cloud-provider=external`
24 # so we should tolerate it to schedule the Calico pods
25 - key: node.cloudprovider.kubernetes.io/uninitialized
28 # Allow this pod to run on the master.
29 - key: node-role.kubernetes.io/master
31 # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode.
32 # This, along with the annotation above marks this pod as a critical add-on.
33 - key: CriticalAddonsOnly
35 # Only run this pod on the master.
37 node-role.kubernetes.io/master: ""
41 image: quay.io/coreos/etcd:v3.3.9-arm64
43 - name: CALICO_ETCD_IP
46 fieldPath: status.podIP
47 - name: ETCD_UNSUPPORTED_ARCH
53 - --data-dir=/var/etcd/calico-data
54 - --advertise-client-urls=http://$(CALICO_ETCD_IP):6666
55 - --listen-client-urls=http://0.0.0.0:6666
56 - --listen-peer-urls=http://0.0.0.0:6667
57 - --auto-compaction-retention=1
68 # This manifest installs the Service which gets traffic to the Calico
76 namespace: kube-system
78 # Select the calico-etcd pod running on the master.
81 # This ClusterIP needs to be known in advance, since we cannot rely
82 # on DNS to get access to etcd.
83 clusterIP: 10.96.232.136