You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

679 lines
24 KiB

6 years ago
7 years ago
6 years ago
6 years ago
contiv network support (#1914) * Add Contiv support Contiv is a network plugin for Kubernetes and Docker. It supports vlan/vxlan/BGP/Cisco ACI technologies. It support firewall policies, multiple networks and bridging pods onto physical networks. * Update contiv version to 1.1.4 Update contiv version to 1.1.4 and added SVC_SUBNET in contiv-config. * Load openvswitch module to workaround on CentOS7.4 * Set contiv cni version to 0.1.0 Correct contiv CNI version to 0.1.0. * Use kube_apiserver_endpoint for K8S_API_SERVER Use kube_apiserver_endpoint as K8S_API_SERVER to make contiv talks to a available endpoint no matter if there's a loadbalancer or not. * Make contiv use its own etcd Before this commit, contiv is using a etcd proxy mode to k8s etcd, this work fine when the etcd hosts are co-located with contiv etcd proxy, however the k8s peering certs are only in etcd group, as a result the etcd-proxy is not able to peering with the k8s etcd on etcd group, plus the netplugin is always trying to find the etcd endpoint on localhost, this will cause problem for all netplugins not runnign on etcd group nodes. This commit make contiv uses its own etcd, separate from k8s one. on kube-master nodes (where net-master runs), it will run as leader mode and on all rest nodes it will run as proxy mode. * Use cp instead of rsync to copy cni binaries Since rsync has been removed from hyperkube, this commit changes it to use cp instead. * Make contiv-etcd able to run on master nodes * Add rbac_enabled flag for contiv pods * Add contiv into CNI network plugin lists * migrate contiv test to tests/files Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> * Add required rules for contiv netplugin * Better handling json return of fwdMode * Make contiv etcd port configurable * Use default var instead of templating * roles/download/defaults/main.yml: use contiv 1.1.7 Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
7 years ago
6 years ago
contiv network support (#1914) * Add Contiv support Contiv is a network plugin for Kubernetes and Docker. It supports vlan/vxlan/BGP/Cisco ACI technologies. It support firewall policies, multiple networks and bridging pods onto physical networks. * Update contiv version to 1.1.4 Update contiv version to 1.1.4 and added SVC_SUBNET in contiv-config. * Load openvswitch module to workaround on CentOS7.4 * Set contiv cni version to 0.1.0 Correct contiv CNI version to 0.1.0. * Use kube_apiserver_endpoint for K8S_API_SERVER Use kube_apiserver_endpoint as K8S_API_SERVER to make contiv talks to a available endpoint no matter if there's a loadbalancer or not. * Make contiv use its own etcd Before this commit, contiv is using a etcd proxy mode to k8s etcd, this work fine when the etcd hosts are co-located with contiv etcd proxy, however the k8s peering certs are only in etcd group, as a result the etcd-proxy is not able to peering with the k8s etcd on etcd group, plus the netplugin is always trying to find the etcd endpoint on localhost, this will cause problem for all netplugins not runnign on etcd group nodes. This commit make contiv uses its own etcd, separate from k8s one. on kube-master nodes (where net-master runs), it will run as leader mode and on all rest nodes it will run as proxy mode. * Use cp instead of rsync to copy cni binaries Since rsync has been removed from hyperkube, this commit changes it to use cp instead. * Make contiv-etcd able to run on master nodes * Add rbac_enabled flag for contiv pods * Add contiv into CNI network plugin lists * migrate contiv test to tests/files Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> * Add required rules for contiv netplugin * Better handling json return of fwdMode * Make contiv etcd port configurable * Use default var instead of templating * roles/download/defaults/main.yml: use contiv 1.1.7 Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
7 years ago
6 years ago
contiv network support (#1914) * Add Contiv support Contiv is a network plugin for Kubernetes and Docker. It supports vlan/vxlan/BGP/Cisco ACI technologies. It support firewall policies, multiple networks and bridging pods onto physical networks. * Update contiv version to 1.1.4 Update contiv version to 1.1.4 and added SVC_SUBNET in contiv-config. * Load openvswitch module to workaround on CentOS7.4 * Set contiv cni version to 0.1.0 Correct contiv CNI version to 0.1.0. * Use kube_apiserver_endpoint for K8S_API_SERVER Use kube_apiserver_endpoint as K8S_API_SERVER to make contiv talks to a available endpoint no matter if there's a loadbalancer or not. * Make contiv use its own etcd Before this commit, contiv is using a etcd proxy mode to k8s etcd, this work fine when the etcd hosts are co-located with contiv etcd proxy, however the k8s peering certs are only in etcd group, as a result the etcd-proxy is not able to peering with the k8s etcd on etcd group, plus the netplugin is always trying to find the etcd endpoint on localhost, this will cause problem for all netplugins not runnign on etcd group nodes. This commit make contiv uses its own etcd, separate from k8s one. on kube-master nodes (where net-master runs), it will run as leader mode and on all rest nodes it will run as proxy mode. * Use cp instead of rsync to copy cni binaries Since rsync has been removed from hyperkube, this commit changes it to use cp instead. * Make contiv-etcd able to run on master nodes * Add rbac_enabled flag for contiv pods * Add contiv into CNI network plugin lists * migrate contiv test to tests/files Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> * Add required rules for contiv netplugin * Better handling json return of fwdMode * Make contiv etcd port configurable * Use default var instead of templating * roles/download/defaults/main.yml: use contiv 1.1.7 Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
7 years ago
contiv network support (#1914) * Add Contiv support Contiv is a network plugin for Kubernetes and Docker. It supports vlan/vxlan/BGP/Cisco ACI technologies. It support firewall policies, multiple networks and bridging pods onto physical networks. * Update contiv version to 1.1.4 Update contiv version to 1.1.4 and added SVC_SUBNET in contiv-config. * Load openvswitch module to workaround on CentOS7.4 * Set contiv cni version to 0.1.0 Correct contiv CNI version to 0.1.0. * Use kube_apiserver_endpoint for K8S_API_SERVER Use kube_apiserver_endpoint as K8S_API_SERVER to make contiv talks to a available endpoint no matter if there's a loadbalancer or not. * Make contiv use its own etcd Before this commit, contiv is using a etcd proxy mode to k8s etcd, this work fine when the etcd hosts are co-located with contiv etcd proxy, however the k8s peering certs are only in etcd group, as a result the etcd-proxy is not able to peering with the k8s etcd on etcd group, plus the netplugin is always trying to find the etcd endpoint on localhost, this will cause problem for all netplugins not runnign on etcd group nodes. This commit make contiv uses its own etcd, separate from k8s one. on kube-master nodes (where net-master runs), it will run as leader mode and on all rest nodes it will run as proxy mode. * Use cp instead of rsync to copy cni binaries Since rsync has been removed from hyperkube, this commit changes it to use cp instead. * Make contiv-etcd able to run on master nodes * Add rbac_enabled flag for contiv pods * Add contiv into CNI network plugin lists * migrate contiv test to tests/files Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> * Add required rules for contiv netplugin * Better handling json return of fwdMode * Make contiv etcd port configurable * Use default var instead of templating * roles/download/defaults/main.yml: use contiv 1.1.7 Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
7 years ago
  1. ---
  2. local_release_dir: /tmp/releases
  3. # Used to only evaluate vars from download role
  4. skip_downloads: false
  5. # if this is set to true will only download files once. Doesn't work
  6. # on Container Linux by CoreOS unless the download_localhost is true and localhost
  7. # is running another OS type. Default compress level is 1 (fastest).
  8. download_run_once: False
  9. download_compress: 1
  10. # if this is set to true will download container
  11. download_container: True
  12. # if this is set to true, uses the localhost for download_run_once mode
  13. # (requires docker and sudo to access docker). You may want this option for
  14. # local caching of docker images or for Container Linux by CoreOS cluster nodes.
  15. # Otherwise, uses the first node in the kube-master group to store images
  16. # in the download_run_once mode.
  17. download_localhost: False
  18. # Always pull images if set to True. Otherwise check by the repo's tag/digest.
  19. download_always_pull: False
  20. # Some problems may occur when downloading files over https proxy due to ansible bug
  21. # https://github.com/ansible/ansible/issues/32750. Set this variable to False to disable
  22. # SSL validation of get_url module. Note that kubespray will still be performing checksum validation.
  23. download_validate_certs: True
  24. # Use the first kube-master if download_localhost is not set
  25. download_delegate: "{% if download_localhost %}localhost{% else %}{{groups['kube-master'][0]}}{% endif %}"
  26. # Arch of Docker images and needed packages
  27. image_arch: "{{host_architecture | default('amd64')}}"
  28. # Versions
  29. kube_version: v1.13.2
  30. kubeadm_version: "{{ kube_version }}"
  31. etcd_version: v3.2.24
  32. # kubernetes image repo define
  33. kube_image_repo: "gcr.io/google-containers"
  34. # TODO(mattymo): Move calico versions to roles/network_plugins/calico/defaults
  35. # after migration to container download
  36. calico_version: "v3.1.3"
  37. calico_ctl_version: "v3.1.3"
  38. calico_cni_version: "v3.1.3"
  39. calico_policy_version: "v3.1.3"
  40. calico_rr_version: "v0.6.1"
  41. flannel_version: "v0.10.0"
  42. flannel_cni_version: "v0.3.0"
  43. cni_version: "v0.6.0"
  44. weave_version: 2.5.0
  45. pod_infra_version: 3.1
  46. contiv_version: 1.2.1
  47. cilium_version: "v1.3.0"
  48. kube_router_version: "v0.2.1"
  49. multus_version: "v3.1.autoconf"
  50. # Download URLs
  51. kubeadm_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kubeadm_version }}/bin/linux/{{ image_arch }}/kubeadm"
  52. hyperkube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/{{ image_arch }}/hyperkube"
  53. etcd_download_url: "https://github.com/coreos/etcd/releases/download/{{ etcd_version }}/etcd-{{ etcd_version }}-linux-{{ image_arch }}.tar.gz"
  54. cni_download_url: "https://github.com/containernetworking/plugins/releases/download/{{ cni_version }}/cni-plugins-{{ image_arch }}-{{ cni_version }}.tgz"
  55. # Checksums
  56. hyperkube_checksums:
  57. v1.13.2: f159b587ec80ad03bf3b9bb09de5d64b773d01b0e34f2a4f1c816879c56aae6d
  58. v1.13.1: f64c4328d3853f3e5680e7d296b0f3ed25e67ff98321867309edea100ebb4fd7
  59. v1.13.0: 754f1baae5dc2ba29afc66e1f5d3b676ee59cd5c40ccce813092408d53bde3d9
  60. v1.12.5: f8b651816b2caa33e8b25a666e5c370e9786356d59f89579bba772f28370ed00
  61. v1.12.4: a4697d8f3791f0408fcdb97b3de187e47d7b39a63332c75f68f95e25f4891cc9
  62. v1.12.3: 600aad3f0d016716abd85931239806193ffbe95f2edfdcea11532d518ae5cdb1
  63. v1.12.2: 566dfed398c20c9944f8999d6370cb584cb8c228b3c5881137b6b3d9306e4b06
  64. v1.12.1: 4aa23cfb2fc2e2e4d0cbe0d83a648c38e4baabd6c66f5cdbbb40cbc7582fdc74
  65. v1.12.0: f80336201f3152a5307c01f8a7206847398dde15c69b3d20c76a7d9520b60daf
  66. v1.11.5: 88e17abcc821e4895184e64d4b136095263b147c6d679b6e5177b0f58a2629cc
  67. v1.11.3: dac8da16dd6688e52b5dc510f5dd0a20b54350d52fb27ceba2f018ba2c8be692
  68. v1.11.2: d727f8cae3fc26b1add9b4ff0d4d9b99605544ff7fb3baeecdca394362adbfb8
  69. v1.11.1: 019ce1ecf4c6a70c06a7f4ef107443351458b4d9e6b9ce4a436bfbfbef93feea
  70. v1.11.0: 7e191c164dc2c942abd37e4b50846e0be31ca959afffeff6b034beacbc2a106a
  71. v1.10.11: 10b106e2c8440599527770e272d087a552a8e1a3d311b379911053463d2d562d
  72. v1.10.8: f8a68514a6c858089f44ec93b2ffb2d764ea67d3b02b19112348f73ffcfe4386
  73. v1.10.7: 13e25eb39467014fd169f38b7cd6bec8ff55525b8001c7abba85957e6470b6cc
  74. v1.10.6: 0daa34fa58470e5f20def10d3dd544922c28c558719d3338ad8c524154c91257
  75. v1.10.5: 1a53456f9d33a7c07adb1636f20f1d0b92b8e7647063a70d0ce134a238e680fe
  76. v1.10.4: 16e36693c15494036d930139a749ec1bc492b7fefa2c3adc1abbe8f38178ae7c
  77. v1.10.3: e807753dc309635902a56069ee06fc390944ef034b72c53b2e1e51d0c9ead8a3
  78. v1.10.2: 3843fb594a18c4a64d77736bab72000ec4b8c4ddf178e20ec3249f709e9ed9c1
  79. v1.10.1: 6e0642ad6bae68dc81b8d1c9efa18e265e17e23da1895862823cafac08c0344c
  80. v1.10.0: b5575b2fb4266754c1675b8cd5d9b6cac70f3fee7a05c4e80da3a9e83e58c57e
  81. kubeadm_checksums:
  82. v1.13.2: 7cb0ce57c1e6e2d85e05de3780a2f35a191fe93f89cfc5816b424efcf39834b9
  83. v1.13.1: 438173bfa0b7014ecae994c5b9e1f27e1328ab971a3fdb06a393a8095a176ba0
  84. v1.13.0: f5366206416dc4cfc840a7add2289957b56ccc479cc1b74f7397a4df995d6b06
  85. v1.12.5: d61730b3deb4d9825af0cc1e452a4be2292400507128279770c39669f6599af9
  86. v1.12.4: 674ad5892ff2403f492c9042c3cea3fa0bfa3acf95bc7d1777c3645f0ddf64d7
  87. v1.12.3: c675aa3be82754b3f8dfdde2a1526a72986713312d46d898e65cb564c6aa8ad4
  88. v1.12.2: 51bc4bfd1d934a27245111c0ad1f793d5147ed15389415a1509502f23fcfa642
  89. v1.12.1: 5d95efd65aad398d85a9802799f36410ae7a95f9cbe73c8b10d2213c10a6d7be
  90. v1.12.0: 463fb058b7fa2591fb01f29f2451b054f6cbaa0f8a20394b4a4eb5d68473176f
  91. v1.11.5: b28ec97875cad94ef9d554d9fb1170674e6588c97e1746f2026e0795aecabc40
  92. v1.11.3: 422a7a32ed9a7b1eaa2a4f9d121674dfbe80eb41e206092c13017d097f75aaec
  93. v1.11.2: 6b17720a65b8ff46efe92a5544f149c39a221910d89939838d75581d4e6924c0
  94. v1.11.1: 425ec24b95f7217ee06d1588aba22f206a5829f8c6a5352c2862368552361fe6
  95. v1.11.0: 0000478fc59a24ec1727de744188d13c4d702a644954132efa9d9954371b3553
  96. v1.10.11: 5ba4201ef6c97fba274be22e070c9021187028ed17b5e5a203d80cb67caacd9c
  97. v1.10.8: 42660875dd94c93267bd2f567c67d692b362bd143d7502967a62c5474b2b25b8
  98. v1.10.7: cdeb07fd3705e973800c4aa0b8a510d5dba1de8e1039428cfebdaf3d93e332b6
  99. v1.10.6: e1d49a6b33b384f681468add2e9ee08552069ae0d6b0ad59e1c943ddbaeac3fa
  100. v1.10.5: f231d4bcc9f2ed15597272e5359e380cc760c0b57a1f7cb97ce2bbab5df774e0
  101. v1.10.4: 7e1169bbbeed973ab402941672dec957638dea5952a1e8bc89a37d5e709cc4b4
  102. v1.10.3: b2a6f0764b89a4a13a3da4471af943ce98efeb29e2913c9e7880fe27f4f43a5f
  103. v1.10.2: 394d7d340214c91d669186cf4f2110d8eb840ca965399b4d8b22d0545a60e377
  104. v1.10.1: 012e48fb92b1c22543b12ab2db7d780777972043287404c98cca4d2c6ec964ec
  105. v1.10.0: ebbac985834289037b544523c3e2f39bb44bea938aca9d9e88ef7e880fb8472f
  106. etcd_binary_checksum: 947849dbcfa13927c81236fb76a7c01d587bbab42ab1e807184cd91b026ebed7
  107. cni_binary_checksum: f04339a21b8edf76d415e7f17b620e63b8f37a76b2f706671587ab6464411f2d
  108. hyperkube_binary_checksum: "{{ hyperkube_checksums[kube_version] }}"
  109. kubeadm_binary_checksum: "{{ kubeadm_checksums[kubeadm_version] }}"
  110. # Containers
  111. # In some cases, we need a way to set --registry-mirror or --insecure-registry for docker,
  112. # it helps a lot for local private development or bare metal environment.
  113. # So you need define --registry-mirror or --insecure-registry, and modify the following url address.
  114. # example:
  115. # You need to deploy kubernetes cluster on local private development.
  116. # Also provide the address of your own private registry.
  117. # And use --insecure-registry options for docker
  118. etcd_image_repo: "quay.io/coreos/etcd"
  119. etcd_image_tag: "{{ etcd_version }}{%- if image_arch != 'amd64' -%}-{{ image_arch }}{%- endif -%}"
  120. flannel_image_repo: "quay.io/coreos/flannel"
  121. flannel_image_tag: "{{ flannel_version }}"
  122. flannel_cni_image_repo: "quay.io/coreos/flannel-cni"
  123. flannel_cni_image_tag: "{{ flannel_cni_version }}"
  124. calicoctl_image_repo: "quay.io/calico/ctl"
  125. calicoctl_image_tag: "{{ calico_ctl_version }}"
  126. calico_node_image_repo: "quay.io/calico/node"
  127. calico_node_image_tag: "{{ calico_version }}"
  128. calico_cni_image_repo: "quay.io/calico/cni"
  129. calico_cni_image_tag: "{{ calico_cni_version }}"
  130. calico_policy_image_repo: "quay.io/calico/kube-controllers"
  131. calico_policy_image_tag: "{{ calico_policy_version }}"
  132. calico_rr_image_repo: "quay.io/calico/routereflector"
  133. calico_rr_image_tag: "{{ calico_rr_version }}"
  134. pod_infra_image_repo: "gcr.io/google_containers/pause-{{ image_arch }}"
  135. pod_infra_image_tag: "{{ pod_infra_version }}"
  136. install_socat_image_repo: "xueshanf/install-socat"
  137. install_socat_image_tag: "latest"
  138. netcheck_version: "v1.0"
  139. netcheck_agent_image_repo: "quay.io/l23network/k8s-netchecker-agent"
  140. netcheck_agent_image_tag: "{{ netcheck_version }}"
  141. netcheck_server_image_repo: "quay.io/l23network/k8s-netchecker-server"
  142. netcheck_server_image_tag: "{{ netcheck_version }}"
  143. weave_kube_image_repo: "docker.io/weaveworks/weave-kube"
  144. weave_kube_image_tag: "{{ weave_version }}"
  145. weave_npc_image_repo: "docker.io/weaveworks/weave-npc"
  146. weave_npc_image_tag: "{{ weave_version }}"
  147. contiv_image_repo: "contiv/netplugin"
  148. contiv_image_tag: "{{ contiv_version }}"
  149. contiv_init_image_repo: "contiv/netplugin-init"
  150. contiv_init_image_tag: "latest"
  151. contiv_auth_proxy_image_repo: "contiv/auth_proxy"
  152. contiv_auth_proxy_image_tag: "{{ contiv_version }}"
  153. contiv_etcd_init_image_repo: "ferest/etcd-initer"
  154. contiv_etcd_init_image_tag: latest
  155. contiv_ovs_image_repo: "contiv/ovs"
  156. contiv_ovs_image_tag: "latest"
  157. cilium_image_repo: "docker.io/cilium/cilium"
  158. cilium_image_tag: "{{ cilium_version }}"
  159. cilium_init_image_repo: "docker.io/library/busybox"
  160. cilium_init_image_tag: "1.28.4"
  161. kube_router_image_repo: "cloudnativelabs/kube-router"
  162. kube_router_image_tag: "{{ kube_router_version }}"
  163. multus_image_repo: "docker.io/nfvpe/multus"
  164. multus_image_tag: "{{ multus_version }}"
  165. nginx_image_repo: nginx
  166. nginx_image_tag: 1.13
  167. dnsmasq_version: 2.78
  168. dnsmasq_image_repo: "andyshinn/dnsmasq"
  169. dnsmasq_image_tag: "{{ dnsmasq_version }}"
  170. kubedns_version: 1.14.13
  171. kubedns_image_repo: "gcr.io/google_containers/k8s-dns-kube-dns-{{ image_arch }}"
  172. kubedns_image_tag: "{{ kubedns_version }}"
  173. coredns_version: "1.2.6"
  174. coredns_image_repo: "coredns/coredns"
  175. coredns_image_tag: "{{ coredns_version }}"
  176. nodelocaldns_version: "1.15.0"
  177. nodelocaldns_image_repo: "k8s.gcr.io/k8s-dns-node-cache"
  178. nodelocaldns_image_tag: "{{ nodelocaldns_version }}"
  179. dnsmasq_nanny_image_repo: "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-{{ image_arch }}"
  180. dnsmasq_nanny_image_tag: "{{ kubedns_version }}"
  181. dnsmasq_sidecar_image_repo: "gcr.io/google_containers/k8s-dns-sidecar-{{ image_arch }}"
  182. dnsmasq_sidecar_image_tag: "{{ kubedns_version }}"
  183. dnsmasqautoscaler_version: 1.1.2
  184. dnsmasqautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
  185. dnsmasqautoscaler_image_tag: "{{ dnsmasqautoscaler_version }}"
  186. dnsautoscaler_version: 1.3.0
  187. dnsautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
  188. dnsautoscaler_image_tag: "{{ dnsautoscaler_version }}"
  189. test_image_repo: busybox
  190. test_image_tag: latest
  191. busybox_image_repo: busybox
  192. busybox_image_tag: 1.29.2
  193. helm_version: "v2.12.2"
  194. helm_image_repo: "lachlanevenson/k8s-helm"
  195. helm_image_tag: "{{ helm_version }}"
  196. tiller_image_repo: "gcr.io/kubernetes-helm/tiller"
  197. tiller_image_tag: "{{ helm_version }}"
  198. registry_image_repo: "registry"
  199. registry_image_tag: "2.6"
  200. registry_proxy_image_repo: "gcr.io/google_containers/kube-registry-proxy"
  201. registry_proxy_image_tag: "0.4"
  202. metrics_server_version: "v0.3.1"
  203. metrics_server_image_repo: "k8s.gcr.io/metrics-server-amd64"
  204. metrics_server_image_tag: "{{ metrics_server_version }}"
  205. local_volume_provisioner_image_repo: "quay.io/external_storage/local-volume-provisioner"
  206. local_volume_provisioner_image_tag: "v2.1.0"
  207. cephfs_provisioner_image_repo: "quay.io/external_storage/cephfs-provisioner"
  208. cephfs_provisioner_image_tag: "v2.1.0-k8s1.11"
  209. ingress_nginx_controller_image_repo: "quay.io/kubernetes-ingress-controller/nginx-ingress-controller"
  210. ingress_nginx_controller_image_tag: "0.21.0"
  211. cert_manager_version: "v0.5.2"
  212. cert_manager_controller_image_repo: "quay.io/jetstack/cert-manager-controller"
  213. cert_manager_controller_image_tag: "{{ cert_manager_version }}"
  214. addon_resizer_version: "1.8.3"
  215. addon_resizer_image_repo: "k8s.gcr.io/addon-resizer"
  216. addon_resizer_image_tag: "{{ addon_resizer_version }}"
  217. dashboard_image_repo: "gcr.io/google_containers/kubernetes-dashboard-{{ image_arch }}"
  218. dashboard_image_tag: "v1.10.1"
  219. downloads:
  220. netcheck_server:
  221. enabled: "{{ deploy_netchecker }}"
  222. container: true
  223. repo: "{{ netcheck_server_image_repo }}"
  224. tag: "{{ netcheck_server_image_tag }}"
  225. sha256: "{{ netcheck_server_digest_checksum|default(None) }}"
  226. groups:
  227. - k8s-cluster
  228. netcheck_agent:
  229. enabled: "{{ deploy_netchecker }}"
  230. container: true
  231. repo: "{{ netcheck_agent_image_repo }}"
  232. tag: "{{ netcheck_agent_image_tag }}"
  233. sha256: "{{ netcheck_agent_digest_checksum|default(None) }}"
  234. groups:
  235. - k8s-cluster
  236. etcd:
  237. container: "{{ etcd_deployment_type != 'host' }}"
  238. file: "{{ etcd_deployment_type == 'host' }}"
  239. enabled: true
  240. version: "{{ etcd_version }}"
  241. dest: "{{local_release_dir}}/etcd-{{ etcd_version }}-linux-amd64.tar.gz"
  242. repo: "{{ etcd_image_repo }}"
  243. tag: "{{ etcd_image_tag }}"
  244. sha256: "{{ etcd_binary_checksum if etcd_deployment_type == 'host' else etcd_digest_checksum|d(None) }}"
  245. url: "{{ etcd_download_url }}"
  246. unarchive: true
  247. owner: "root"
  248. mode: "0755"
  249. groups:
  250. - etcd
  251. cni:
  252. enabled: true
  253. file: true
  254. version: "{{ cni_version }}"
  255. dest: "{{local_release_dir}}/cni-plugins-{{ image_arch }}-{{ cni_version }}.tgz"
  256. sha256: "{{ cni_binary_checksum }}"
  257. url: "{{ cni_download_url }}"
  258. unarchive: false
  259. owner: "root"
  260. mode: "0755"
  261. groups:
  262. - k8s-cluster
  263. kubeadm:
  264. enabled: true
  265. file: true
  266. version: "{{ kubeadm_version }}"
  267. dest: "{{local_release_dir}}/kubeadm"
  268. sha256: "{{ kubeadm_binary_checksum }}"
  269. url: "{{ kubeadm_download_url }}"
  270. unarchive: false
  271. owner: "root"
  272. mode: "0755"
  273. groups:
  274. - k8s-cluster
  275. hyperkube_file:
  276. enabled: true
  277. file: true
  278. version: "{{ kube_version }}"
  279. dest: "{{ local_release_dir }}/hyperkube"
  280. sha256: "{{ hyperkube_binary_checksum }}"
  281. url: "{{ hyperkube_download_url }}"
  282. unarchive: false
  283. owner: "root"
  284. mode: "0755"
  285. groups:
  286. - k8s-cluster
  287. cilium:
  288. enabled: "{{ kube_network_plugin == 'cilium' }}"
  289. container: true
  290. repo: "{{ cilium_image_repo }}"
  291. tag: "{{ cilium_image_tag }}"
  292. sha256: "{{ cilium_digest_checksum|default(None) }}"
  293. groups:
  294. - k8s-cluster
  295. cilium_init:
  296. enabled: "{{ kube_network_plugin == 'cilium' }}"
  297. container: true
  298. repo: "{{ cilium_init_image_repo }}"
  299. tag: "{{ cilium_init_image_tag }}"
  300. sha256: "{{ cilium_init_digest_checksum|default(None) }}"
  301. groups:
  302. - k8s-cluster
  303. multus:
  304. enabled: "{{ kube_network_plugin_multus }}"
  305. container: true
  306. repo: "{{ multus_image_repo }}"
  307. tag: "{{ multus_image_tag }}"
  308. sha256: "{{ multus_digest_checksum|default(None) }}"
  309. groups:
  310. - k8s-cluster
  311. flannel:
  312. enabled: "{{ kube_network_plugin == 'flannel' or kube_network_plugin == 'canal' }}"
  313. container: true
  314. repo: "{{ flannel_image_repo }}"
  315. tag: "{{ flannel_image_tag }}"
  316. sha256: "{{ flannel_digest_checksum|default(None) }}"
  317. groups:
  318. - k8s-cluster
  319. flannel_cni:
  320. enabled: "{{ kube_network_plugin == 'flannel' }}"
  321. container: true
  322. repo: "{{ flannel_cni_image_repo }}"
  323. tag: "{{ flannel_cni_image_tag }}"
  324. sha256: "{{ flannel_cni_digest_checksum|default(None) }}"
  325. groups:
  326. - k8s-cluster
  327. calicoctl:
  328. enabled: "{{ kube_network_plugin == 'calico' or kube_network_plugin == 'canal' }}"
  329. container: true
  330. repo: "{{ calicoctl_image_repo }}"
  331. tag: "{{ calicoctl_image_tag }}"
  332. sha256: "{{ calicoctl_digest_checksum|default(None) }}"
  333. groups:
  334. - k8s-cluster
  335. calico_node:
  336. enabled: "{{ kube_network_plugin == 'calico' or kube_network_plugin == 'canal' }}"
  337. container: true
  338. repo: "{{ calico_node_image_repo }}"
  339. tag: "{{ calico_node_image_tag }}"
  340. sha256: "{{ calico_node_digest_checksum|default(None) }}"
  341. groups:
  342. - k8s-cluster
  343. calico_cni:
  344. enabled: "{{ kube_network_plugin == 'calico' or kube_network_plugin == 'canal' }}"
  345. container: true
  346. repo: "{{ calico_cni_image_repo }}"
  347. tag: "{{ calico_cni_image_tag }}"
  348. sha256: "{{ calico_cni_digest_checksum|default(None) }}"
  349. groups:
  350. - k8s-cluster
  351. calico_policy:
  352. enabled: "{{ enable_network_policy or kube_network_plugin == 'canal' }}"
  353. container: true
  354. repo: "{{ calico_policy_image_repo }}"
  355. tag: "{{ calico_policy_image_tag }}"
  356. sha256: "{{ calico_policy_digest_checksum|default(None) }}"
  357. groups:
  358. - k8s-cluster
  359. calico_rr:
  360. enabled: "{{ peer_with_calico_rr is defined and peer_with_calico_rr and kube_network_plugin == 'calico' }}"
  361. container: true
  362. repo: "{{ calico_rr_image_repo }}"
  363. tag: "{{ calico_rr_image_tag }}"
  364. sha256: "{{ calico_rr_digest_checksum|default(None) }}"
  365. groups:
  366. - calico-rr
  367. weave_kube:
  368. enabled: "{{ kube_network_plugin == 'weave' }}"
  369. container: true
  370. repo: "{{ weave_kube_image_repo }}"
  371. tag: "{{ weave_kube_image_tag }}"
  372. sha256: "{{ weave_kube_digest_checksum|default(None) }}"
  373. groups:
  374. - k8s-cluster
  375. weave_npc:
  376. enabled: "{{ kube_network_plugin == 'weave' }}"
  377. container: true
  378. repo: "{{ weave_npc_image_repo }}"
  379. tag: "{{ weave_npc_image_tag }}"
  380. sha256: "{{ weave_npc_digest_checksum|default(None) }}"
  381. groups:
  382. - k8s-cluster
  383. contiv:
  384. enabled: "{{ kube_network_plugin == 'contiv' }}"
  385. container: true
  386. repo: "{{ contiv_image_repo }}"
  387. tag: "{{ contiv_image_tag }}"
  388. sha256: "{{ contiv_digest_checksum|default(None) }}"
  389. groups:
  390. - k8s-cluster
  391. contiv_auth_proxy:
  392. enabled: "{{ kube_network_plugin == 'contiv' }}"
  393. container: true
  394. repo: "{{ contiv_auth_proxy_image_repo }}"
  395. tag: "{{ contiv_auth_proxy_image_tag }}"
  396. sha256: "{{ contiv_auth_proxy_digest_checksum|default(None) }}"
  397. groups:
  398. - k8s-cluster
  399. contiv_etcd_init:
  400. enabled: "{{ kube_network_plugin == 'contiv' }}"
  401. container: true
  402. repo: "{{ contiv_etcd_init_image_repo }}"
  403. tag: "{{ contiv_etcd_init_image_tag }}"
  404. sha256: "{{ contiv_etcd_init_digest_checksum|default(None) }}"
  405. groups:
  406. - k8s-cluster
  407. kube_router:
  408. enabled: "{{ kube_network_plugin == 'kube-router' }}"
  409. container: true
  410. repo: "{{ kube_router_image_repo }}"
  411. tag: "{{ kube_router_image_tag }}"
  412. sha256: "{{ kube_router_digest_checksum|default(None) }}"
  413. groups:
  414. - k8s-cluster
  415. pod_infra:
  416. enabled: true
  417. container: true
  418. repo: "{{ pod_infra_image_repo }}"
  419. tag: "{{ pod_infra_image_tag }}"
  420. sha256: "{{ pod_infra_digest_checksum|default(None) }}"
  421. groups:
  422. - k8s-cluster
  423. install_socat:
  424. enabled: "{{ ansible_os_family in ['CoreOS', 'Container Linux by CoreOS'] }}"
  425. container: true
  426. repo: "{{ install_socat_image_repo }}"
  427. tag: "{{ install_socat_image_tag }}"
  428. sha256: "{{ install_socat_digest_checksum|default(None) }}"
  429. groups:
  430. - k8s-cluster
  431. nginx:
  432. enabled: "{{ loadbalancer_apiserver_localhost }}"
  433. container: true
  434. repo: "{{ nginx_image_repo }}"
  435. tag: "{{ nginx_image_tag }}"
  436. sha256: "{{ nginx_digest_checksum|default(None) }}"
  437. groups:
  438. - kube-node
  439. dnsmasq:
  440. enabled: "{{ dns_mode == 'dnsmasq_kubedns' }}"
  441. container: true
  442. repo: "{{ dnsmasq_image_repo }}"
  443. tag: "{{ dnsmasq_image_tag }}"
  444. sha256: "{{ dnsmasq_digest_checksum|default(None) }}"
  445. groups:
  446. - kube-node
  447. kubedns:
  448. enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns'] }}"
  449. container: true
  450. repo: "{{ kubedns_image_repo }}"
  451. tag: "{{ kubedns_image_tag }}"
  452. sha256: "{{ kubedns_digest_checksum|default(None) }}"
  453. groups:
  454. - kube-node
  455. coredns:
  456. enabled: "{{ dns_mode in ['coredns', 'coredns_dual'] }}"
  457. container: true
  458. repo: "{{ coredns_image_repo }}"
  459. tag: "{{ coredns_image_tag }}"
  460. sha256: "{{ coredns_digest_checksum|default(None) }}"
  461. groups:
  462. - kube-node
  463. nodelocaldns:
  464. enabled: "{{ enable_nodelocaldns == True }}"
  465. container: true
  466. repo: "{{ nodelocaldns_image_repo }}"
  467. tag: "{{ nodelocaldns_image_tag }}"
  468. sha256: "{{ nodelocaldns_digest_checksum|default(None) }}"
  469. groups:
  470. - kube-node
  471. dnsmasq_nanny:
  472. enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns'] }}"
  473. container: true
  474. repo: "{{ dnsmasq_nanny_image_repo }}"
  475. tag: "{{ dnsmasq_nanny_image_tag }}"
  476. sha256: "{{ dnsmasq_nanny_digest_checksum|default(None) }}"
  477. groups:
  478. - kube-node
  479. dnsmasq_sidecar:
  480. enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns'] }}"
  481. container: true
  482. repo: "{{ dnsmasq_sidecar_image_repo }}"
  483. tag: "{{ dnsmasq_sidecar_image_tag }}"
  484. sha256: "{{ dnsmasq_sidecar_digest_checksum|default(None) }}"
  485. groups:
  486. - kube-node
  487. dnsautoscaler:
  488. enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns','coredns', 'coredns_dual'] }}"
  489. container: true
  490. repo: "{{ dnsautoscaler_image_repo }}"
  491. tag: "{{ dnsautoscaler_image_tag }}"
  492. sha256: "{{ dnsautoscaler_digest_checksum|default(None) }}"
  493. groups:
  494. - kube-node
  495. busybox:
  496. enabled: "{{ kube_network_plugin in ['kube-router'] }}"
  497. container: true
  498. repo: "{{ busybox_image_repo }}"
  499. tag: "{{ busybox_image_tag }}"
  500. sha256: "{{ busybox_digest_checksum|default(None) }}"
  501. groups:
  502. - k8s-cluster
  503. testbox:
  504. enabled: false
  505. container: true
  506. repo: "{{ test_image_repo }}"
  507. tag: "{{ test_image_tag }}"
  508. sha256: "{{ testbox_digest_checksum|default(None) }}"
  509. helm:
  510. enabled: "{{ helm_enabled }}"
  511. container: true
  512. repo: "{{ helm_image_repo }}"
  513. tag: "{{ helm_image_tag }}"
  514. sha256: "{{ helm_digest_checksum|default(None) }}"
  515. groups:
  516. - kube-node
  517. tiller:
  518. enabled: "{{ helm_enabled }}"
  519. container: true
  520. repo: "{{ tiller_image_repo }}"
  521. tag: "{{ tiller_image_tag }}"
  522. sha256: "{{ tiller_digest_checksum|default(None) }}"
  523. groups:
  524. - kube-node
  525. registry:
  526. enabled: "{{ registry_enabled }}"
  527. container: true
  528. repo: "{{ registry_image_repo }}"
  529. tag: "{{ registry_image_tag }}"
  530. sha256: "{{ registry_digest_checksum|default(None) }}"
  531. groups:
  532. - kube-node
  533. registry_proxy:
  534. enabled: "{{ registry_enabled }}"
  535. container: true
  536. repo: "{{ registry_proxy_image_repo }}"
  537. tag: "{{ registry_proxy_image_tag }}"
  538. sha256: "{{ registry_proxy_digest_checksum|default(None) }}"
  539. groups:
  540. - kube-node
  541. metrics_server:
  542. enabled: "{{ metrics_server_enabled }}"
  543. container: true
  544. repo: "{{ metrics_server_image_repo }}"
  545. tag: "{{ metrics_server_image_tag }}"
  546. sha256: "{{ metrics_server_digest_checksum|default(None) }}"
  547. groups:
  548. - kube-master
  549. addon_resizer:
  550. # Currently addon_resizer is only used by metrics server
  551. enabled: "{{ metrics_server_enabled }}"
  552. container: true
  553. repo: "{{ addon_resizer_image_repo }}"
  554. tag: "{{ addon_resizer_image_tag }}"
  555. sha256: "{{ addon_resizer_digest_checksum|default(None) }}"
  556. groups:
  557. - kube-master
  558. local_volume_provisioner:
  559. enabled: "{{ local_volume_provisioner_enabled }}"
  560. container: true
  561. repo: "{{ local_volume_provisioner_image_repo }}"
  562. tag: "{{ local_volume_provisioner_image_tag }}"
  563. sha256: "{{ local_volume_provisioner_digest_checksum|default(None) }}"
  564. groups:
  565. - kube-node
  566. cephfs_provisioner:
  567. enabled: "{{ cephfs_provisioner_enabled }}"
  568. container: true
  569. repo: "{{ cephfs_provisioner_image_repo }}"
  570. tag: "{{ cephfs_provisioner_image_tag }}"
  571. sha256: "{{ cephfs_provisioner_digest_checksum|default(None) }}"
  572. groups:
  573. - kube-node
  574. ingress_nginx_controller:
  575. enabled: "{{ ingress_nginx_enabled }}"
  576. container: true
  577. repo: "{{ ingress_nginx_controller_image_repo }}"
  578. tag: "{{ ingress_nginx_controller_image_tag }}"
  579. sha256: "{{ ingress_nginx_controller_digest_checksum|default(None) }}"
  580. groups:
  581. - kube-node
  582. cert_manager_controller:
  583. enabled: "{{ cert_manager_enabled }}"
  584. container: true
  585. repo: "{{ cert_manager_controller_image_repo }}"
  586. tag: "{{ cert_manager_controller_image_tag }}"
  587. sha256: "{{ cert_manager_controller_digest_checksum|default(None) }}"
  588. groups:
  589. - kube-node
  590. dashboard:
  591. enabled: "{{ dashboard_enabled }}"
  592. container: true
  593. repo: "{{ dashboard_image_repo }}"
  594. tag: "{{ dashboard_image_tag }}"
  595. sha256: "{{ dashboard_digest_checksum|default(None) }}"
  596. groups:
  597. - kube-master
  598. download_defaults:
  599. container: false
  600. file: false
  601. repo: None
  602. tag: None
  603. enabled: false
  604. dest: None
  605. version: None
  606. url: None
  607. unarchive: false
  608. owner: kube
  609. mode: None