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.

536 lines
19 KiB

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>
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>
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>
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>
6 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. # Use the first kube-master if download_localhost is not set
  21. download_delegate: "{% if download_localhost %}localhost{% else %}{{groups['kube-master'][0]}}{% endif %}"
  22. # Arch of Docker images and needed packages
  23. image_arch: amd64
  24. # Versions
  25. kube_version: v1.11.2
  26. kubeadm_version: "{{ kube_version }}"
  27. etcd_version: v3.2.18
  28. # TODO(mattymo): Move calico versions to roles/network_plugins/calico/defaults
  29. # after migration to container download
  30. calico_version: "v3.1.3"
  31. calico_ctl_version: "v3.1.3"
  32. calico_cni_version: "v3.1.3"
  33. calico_policy_version: "v3.1.3"
  34. calico_rr_version: "v0.6.1"
  35. flannel_version: "v0.10.0"
  36. flannel_cni_version: "v0.3.0"
  37. vault_version: 0.10.1
  38. weave_version: "2.4.0"
  39. pod_infra_version: 3.0
  40. contiv_version: 1.1.7
  41. cilium_version: "v1.2.0"
  42. # Download URLs
  43. kubeadm_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kubeadm_version }}/bin/linux/{{ image_arch }}/kubeadm"
  44. vault_download_url: "https://releases.hashicorp.com/vault/{{ vault_version }}/vault_{{ vault_version }}_linux_{{ image_arch }}.zip"
  45. etcd_download_url: "https://github.com/coreos/etcd/releases/download/{{ etcd_version }}/etcd-{{ etcd_version }}-linux-amd64.tar.gz"
  46. hyperkube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/amd64/hyperkube"
  47. # Checksums
  48. etcd_checksum: b729db0732448064271ea6fdcb901773c4fe917763ca07776f22d0e5e0bd4097
  49. hyperkube_checksum: d727f8cae3fc26b1add9b4ff0d4d9b99605544ff7fb3baeecdca394362adbfb8
  50. kubeadm_checksum: 6b17720a65b8ff46efe92a5544f149c39a221910d89939838d75581d4e6924c0
  51. vault_binary_checksum: 3c4d70ba71619a43229e65c67830e30e050eab7a81ac6b28325ff707e5914188
  52. # Containers
  53. etcd_image_repo: "quay.io/coreos/etcd"
  54. etcd_image_tag: "{{ etcd_version }}"
  55. flannel_image_repo: "quay.io/coreos/flannel"
  56. flannel_image_tag: "{{ flannel_version }}"
  57. flannel_cni_image_repo: "quay.io/coreos/flannel-cni"
  58. flannel_cni_image_tag: "{{ flannel_cni_version }}"
  59. calicoctl_image_repo: "quay.io/calico/ctl"
  60. calicoctl_image_tag: "{{ calico_ctl_version }}"
  61. calico_node_image_repo: "quay.io/calico/node"
  62. calico_node_image_tag: "{{ calico_version }}"
  63. calico_cni_image_repo: "quay.io/calico/cni"
  64. calico_cni_image_tag: "{{ calico_cni_version }}"
  65. calico_policy_image_repo: "quay.io/calico/kube-controllers"
  66. calico_policy_image_tag: "{{ calico_policy_version }}"
  67. calico_rr_image_repo: "quay.io/calico/routereflector"
  68. calico_rr_image_tag: "{{ calico_rr_version }}"
  69. hyperkube_image_repo: "gcr.io/google-containers/hyperkube-{{ image_arch }}"
  70. hyperkube_image_tag: "{{ kube_version }}"
  71. pod_infra_image_repo: "gcr.io/google_containers/pause-{{ image_arch }}"
  72. pod_infra_image_tag: "{{ pod_infra_version }}"
  73. install_socat_image_repo: "xueshanf/install-socat"
  74. install_socat_image_tag: "latest"
  75. netcheck_version: "v1.2.2"
  76. netcheck_agent_img_repo: "mirantis/k8s-netchecker-agent"
  77. netcheck_agent_tag: "{{ netcheck_version }}"
  78. netcheck_server_img_repo: "mirantis/k8s-netchecker-server"
  79. netcheck_server_tag: "{{ netcheck_version }}"
  80. weave_kube_image_repo: "weaveworks/weave-kube"
  81. weave_kube_image_tag: "{{ weave_version }}"
  82. weave_npc_image_repo: "weaveworks/weave-npc"
  83. weave_npc_image_tag: "{{ weave_version }}"
  84. contiv_image_repo: "contiv/netplugin"
  85. contiv_image_tag: "{{ contiv_version }}"
  86. contiv_auth_proxy_image_repo: "contiv/auth_proxy"
  87. contiv_auth_proxy_image_tag: "{{ contiv_version }}"
  88. contiv_etcd_init_image_repo: "ferest/etcd-initer"
  89. contiv_etcd_init_image_tag: latest
  90. cilium_image_repo: "docker.io/cilium/cilium"
  91. cilium_image_tag: "{{ cilium_version }}"
  92. nginx_image_repo: nginx
  93. nginx_image_tag: 1.13
  94. dnsmasq_version: 2.78
  95. dnsmasq_image_repo: "andyshinn/dnsmasq"
  96. dnsmasq_image_tag: "{{ dnsmasq_version }}"
  97. kubedns_version: 1.14.10
  98. kubedns_image_repo: "gcr.io/google_containers/k8s-dns-kube-dns-{{ image_arch }}"
  99. kubedns_image_tag: "{{ kubedns_version }}"
  100. coredns_version: 1.2.0
  101. coredns_image_repo: "docker.io/coredns/coredns"
  102. coredns_image_tag: "{{ coredns_version }}"
  103. dnsmasq_nanny_image_repo: "gcr.io/google_containers/k8s-dns-dnsmasq-nanny-{{ image_arch }}"
  104. dnsmasq_nanny_image_tag: "{{ kubedns_version }}"
  105. dnsmasq_sidecar_image_repo: "gcr.io/google_containers/k8s-dns-sidecar-{{ image_arch }}"
  106. dnsmasq_sidecar_image_tag: "{{ kubedns_version }}"
  107. dnsmasqautoscaler_version: 1.1.2
  108. dnsmasqautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
  109. dnsmasqautoscaler_image_tag: "{{ dnsmasqautoscaler_version }}"
  110. kubednsautoscaler_version: 1.1.2
  111. kubednsautoscaler_image_repo: "gcr.io/google_containers/cluster-proportional-autoscaler-{{ image_arch }}"
  112. kubednsautoscaler_image_tag: "{{ kubednsautoscaler_version }}"
  113. test_image_repo: busybox
  114. test_image_tag: latest
  115. elasticsearch_version: "v5.6.4"
  116. elasticsearch_image_repo: "k8s.gcr.io/elasticsearch"
  117. elasticsearch_image_tag: "{{ elasticsearch_version }}"
  118. fluentd_version: "v2.0.4"
  119. fluentd_image_repo: "k8s.gcr.io/fluentd-elasticsearch"
  120. fluentd_image_tag: "{{ fluentd_version }}"
  121. kibana_version: "5.6.4"
  122. kibana_image_repo: "docker.elastic.co/kibana/kibana"
  123. kibana_image_tag: "{{ kibana_version }}"
  124. helm_version: "v2.9.1"
  125. helm_image_repo: "lachlanevenson/k8s-helm"
  126. helm_image_tag: "{{ helm_version }}"
  127. tiller_image_repo: "gcr.io/kubernetes-helm/tiller"
  128. tiller_image_tag: "{{ helm_version }}"
  129. vault_image_repo: "vault"
  130. vault_image_tag: "{{ vault_version }}"
  131. registry_image_repo: "registry"
  132. registry_image_tag: "2.6"
  133. registry_proxy_image_repo: "gcr.io/google_containers/kube-registry-proxy"
  134. registry_proxy_image_tag: "0.4"
  135. local_volume_provisioner_image_repo: "quay.io/external_storage/local-volume-provisioner"
  136. local_volume_provisioner_image_tag: "v2.1.0"
  137. cephfs_provisioner_image_repo: "quay.io/external_storage/cephfs-provisioner"
  138. cephfs_provisioner_image_tag: "v2.0.1-k8s1.11"
  139. ingress_nginx_controller_image_repo: "quay.io/kubernetes-ingress-controller/nginx-ingress-controller"
  140. ingress_nginx_controller_image_tag: "0.18.0"
  141. ingress_nginx_default_backend_image_repo: "gcr.io/google_containers/defaultbackend"
  142. ingress_nginx_default_backend_image_tag: "1.4"
  143. cert_manager_version: "v0.4.1"
  144. cert_manager_controller_image_repo: "quay.io/jetstack/cert-manager-controller"
  145. cert_manager_controller_image_tag: "{{ cert_manager_version }}"
  146. downloads:
  147. netcheck_server:
  148. enabled: "{{ deploy_netchecker }}"
  149. container: true
  150. repo: "{{ netcheck_server_img_repo }}"
  151. tag: "{{ netcheck_server_tag }}"
  152. sha256: "{{ netcheck_server_digest_checksum|default(None) }}"
  153. groups:
  154. - k8s-cluster
  155. netcheck_agent:
  156. enabled: "{{ deploy_netchecker }}"
  157. container: true
  158. repo: "{{ netcheck_agent_img_repo }}"
  159. tag: "{{ netcheck_agent_tag }}"
  160. sha256: "{{ netcheck_agent_digest_checksum|default(None) }}"
  161. groups:
  162. - k8s-cluster
  163. etcd:
  164. enabled: true
  165. container: true
  166. repo: "{{ etcd_image_repo }}"
  167. tag: "{{ etcd_image_tag }}"
  168. sha256: "{{ etcd_digest_checksum|default(None) }}"
  169. groups:
  170. - etcd
  171. etcd_file:
  172. enabled: true
  173. file: true
  174. version: "{{ etcd_version }}"
  175. dest: "etcd-{{ etcd_version }}-linux-amd64.tar.gz"
  176. sha256: "{{ etcd_checksum }}"
  177. source_url: "{{ etcd_download_url }}"
  178. url: "{{ etcd_download_url }}"
  179. unarchive: true
  180. owner: "root"
  181. mode: "0755"
  182. groups:
  183. - etcd
  184. kubeadm:
  185. enabled: "{{ kubeadm_enabled }}"
  186. file: true
  187. version: "{{ kubeadm_version }}"
  188. dest: "kubeadm"
  189. sha256: "{{ kubeadm_checksum }}"
  190. source_url: "{{ kubeadm_download_url }}"
  191. url: "{{ kubeadm_download_url }}"
  192. unarchive: false
  193. owner: "root"
  194. mode: "0755"
  195. groups:
  196. - k8s-cluster
  197. hyperkube:
  198. enabled: true
  199. container: true
  200. repo: "{{ hyperkube_image_repo }}"
  201. tag: "{{ hyperkube_image_tag }}"
  202. sha256: "{{ hyperkube_digest_checksum|default(None) }}"
  203. groups:
  204. - k8s-cluster
  205. hyperkube_file:
  206. enabled: true
  207. file: true
  208. version: "{{ kube_version }}"
  209. dest: "hyperkube"
  210. sha256: "{{ hyperkube_checksum }}"
  211. source_url: "{{ hyperkube_download_url }}"
  212. url: "{{ hyperkube_download_url }}"
  213. unarchive: false
  214. owner: "root"
  215. mode: "0755"
  216. groups:
  217. - k8s-cluster
  218. cilium:
  219. enabled: "{{ kube_network_plugin == 'cilium' }}"
  220. container: true
  221. repo: "{{ cilium_image_repo }}"
  222. tag: "{{ cilium_image_tag }}"
  223. sha256: "{{ cilium_digest_checksum|default(None) }}"
  224. groups:
  225. - k8s-cluster
  226. flannel:
  227. enabled: "{{ kube_network_plugin == 'flannel' or kube_network_plugin == 'canal' }}"
  228. container: true
  229. repo: "{{ flannel_image_repo }}"
  230. tag: "{{ flannel_image_tag }}"
  231. sha256: "{{ flannel_digest_checksum|default(None) }}"
  232. groups:
  233. - k8s-cluster
  234. flannel_cni:
  235. enabled: "{{ kube_network_plugin == 'flannel' }}"
  236. container: true
  237. repo: "{{ flannel_cni_image_repo }}"
  238. tag: "{{ flannel_cni_image_tag }}"
  239. sha256: "{{ flannel_cni_digest_checksum|default(None) }}"
  240. groups:
  241. - k8s-cluster
  242. calicoctl:
  243. enabled: "{{ kube_network_plugin == 'calico' or kube_network_plugin == 'canal' }}"
  244. container: true
  245. repo: "{{ calicoctl_image_repo }}"
  246. tag: "{{ calicoctl_image_tag }}"
  247. sha256: "{{ calicoctl_digest_checksum|default(None) }}"
  248. groups:
  249. - k8s-cluster
  250. calico_node:
  251. enabled: "{{ kube_network_plugin == 'calico' or kube_network_plugin == 'canal' }}"
  252. container: true
  253. repo: "{{ calico_node_image_repo }}"
  254. tag: "{{ calico_node_image_tag }}"
  255. sha256: "{{ calico_node_digest_checksum|default(None) }}"
  256. groups:
  257. - k8s-cluster
  258. calico_cni:
  259. enabled: "{{ kube_network_plugin == 'calico' or kube_network_plugin == 'canal' }}"
  260. container: true
  261. repo: "{{ calico_cni_image_repo }}"
  262. tag: "{{ calico_cni_image_tag }}"
  263. sha256: "{{ calico_cni_digest_checksum|default(None) }}"
  264. groups:
  265. - k8s-cluster
  266. calico_policy:
  267. enabled: "{{ enable_network_policy or kube_network_plugin == 'canal' }}"
  268. container: true
  269. repo: "{{ calico_policy_image_repo }}"
  270. tag: "{{ calico_policy_image_tag }}"
  271. sha256: "{{ calico_policy_digest_checksum|default(None) }}"
  272. groups:
  273. - k8s-cluster
  274. calico_rr:
  275. enabled: "{{ peer_with_calico_rr is defined and peer_with_calico_rr and kube_network_plugin == 'calico' }}"
  276. container: true
  277. repo: "{{ calico_rr_image_repo }}"
  278. tag: "{{ calico_rr_image_tag }}"
  279. sha256: "{{ calico_rr_digest_checksum|default(None) }}"
  280. groups:
  281. - calico-rr
  282. weave_kube:
  283. enabled: "{{ kube_network_plugin == 'weave' }}"
  284. container: true
  285. repo: "{{ weave_kube_image_repo }}"
  286. tag: "{{ weave_kube_image_tag }}"
  287. sha256: "{{ weave_kube_digest_checksum|default(None) }}"
  288. groups:
  289. - k8s-cluster
  290. weave_npc:
  291. enabled: "{{ kube_network_plugin == 'weave' }}"
  292. container: true
  293. repo: "{{ weave_npc_image_repo }}"
  294. tag: "{{ weave_npc_image_tag }}"
  295. sha256: "{{ weave_npc_digest_checksum|default(None) }}"
  296. groups:
  297. - k8s-cluster
  298. contiv:
  299. enabled: "{{ kube_network_plugin == 'contiv' }}"
  300. container: true
  301. repo: "{{ contiv_image_repo }}"
  302. tag: "{{ contiv_image_tag }}"
  303. sha256: "{{ contiv_digest_checksum|default(None) }}"
  304. groups:
  305. - k8s-cluster
  306. contiv_auth_proxy:
  307. enabled: "{{ kube_network_plugin == 'contiv' }}"
  308. container: true
  309. repo: "{{ contiv_auth_proxy_image_repo }}"
  310. tag: "{{ contiv_auth_proxy_image_tag }}"
  311. sha256: "{{ contiv_auth_proxy_digest_checksum|default(None) }}"
  312. groups:
  313. - k8s-cluster
  314. contiv_etcd_init:
  315. enabled: "{{ kube_network_plugin == 'contiv' }}"
  316. container: true
  317. repo: "{{ contiv_etcd_init_image_repo }}"
  318. tag: "{{ contiv_etcd_init_image_tag }}"
  319. sha256: "{{ contiv_etcd_init_digest_checksum|default(None) }}"
  320. groups:
  321. - k8s-cluster
  322. pod_infra:
  323. enabled: true
  324. container: true
  325. repo: "{{ pod_infra_image_repo }}"
  326. tag: "{{ pod_infra_image_tag }}"
  327. sha256: "{{ pod_infra_digest_checksum|default(None) }}"
  328. groups:
  329. - k8s-cluster
  330. install_socat:
  331. enabled: "{{ ansible_os_family in ['CoreOS', 'Container Linux by CoreOS'] }}"
  332. container: true
  333. repo: "{{ install_socat_image_repo }}"
  334. tag: "{{ install_socat_image_tag }}"
  335. sha256: "{{ install_socat_digest_checksum|default(None) }}"
  336. groups:
  337. - k8s-cluster
  338. nginx:
  339. enabled: "{{ loadbalancer_apiserver_localhost }}"
  340. container: true
  341. repo: "{{ nginx_image_repo }}"
  342. tag: "{{ nginx_image_tag }}"
  343. sha256: "{{ nginx_digest_checksum|default(None) }}"
  344. groups:
  345. - kube-node
  346. dnsmasq:
  347. enabled: "{{ dns_mode == 'dnsmasq_kubedns' }}"
  348. container: true
  349. repo: "{{ dnsmasq_image_repo }}"
  350. tag: "{{ dnsmasq_image_tag }}"
  351. sha256: "{{ dnsmasq_digest_checksum|default(None) }}"
  352. groups:
  353. - kube-node
  354. kubedns:
  355. enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns'] }}"
  356. container: true
  357. repo: "{{ kubedns_image_repo }}"
  358. tag: "{{ kubedns_image_tag }}"
  359. sha256: "{{ kubedns_digest_checksum|default(None) }}"
  360. groups:
  361. - kube-node
  362. coredns:
  363. enabled: "{{ dns_mode in ['coredns', 'coredns_dual'] }}"
  364. container: true
  365. repo: "{{ coredns_image_repo }}"
  366. tag: "{{ coredns_image_tag }}"
  367. sha256: "{{ coredns_digest_checksum|default(None) }}"
  368. groups:
  369. - kube-node
  370. dnsmasq_nanny:
  371. enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns'] }}"
  372. container: true
  373. repo: "{{ dnsmasq_nanny_image_repo }}"
  374. tag: "{{ dnsmasq_nanny_image_tag }}"
  375. sha256: "{{ dnsmasq_nanny_digest_checksum|default(None) }}"
  376. groups:
  377. - kube-node
  378. dnsmasq_sidecar:
  379. enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns'] }}"
  380. container: true
  381. repo: "{{ dnsmasq_sidecar_image_repo }}"
  382. tag: "{{ dnsmasq_sidecar_image_tag }}"
  383. sha256: "{{ dnsmasq_sidecar_digest_checksum|default(None) }}"
  384. groups:
  385. - kube-node
  386. kubednsautoscaler:
  387. enabled: "{{ dns_mode in ['kubedns', 'dnsmasq_kubedns'] }}"
  388. container: true
  389. repo: "{{ kubednsautoscaler_image_repo }}"
  390. tag: "{{ kubednsautoscaler_image_tag }}"
  391. sha256: "{{ kubednsautoscaler_digest_checksum|default(None) }}"
  392. groups:
  393. - kube-node
  394. testbox:
  395. enabled: false
  396. container: true
  397. repo: "{{ test_image_repo }}"
  398. tag: "{{ test_image_tag }}"
  399. sha256: "{{ testbox_digest_checksum|default(None) }}"
  400. elasticsearch:
  401. enabled: "{{ efk_enabled }}"
  402. container: true
  403. repo: "{{ elasticsearch_image_repo }}"
  404. tag: "{{ elasticsearch_image_tag }}"
  405. sha256: "{{ elasticsearch_digest_checksum|default(None) }}"
  406. groups:
  407. - kube-node
  408. fluentd:
  409. enabled: "{{ efk_enabled }}"
  410. container: true
  411. repo: "{{ fluentd_image_repo }}"
  412. tag: "{{ fluentd_image_tag }}"
  413. sha256: "{{ fluentd_digest_checksum|default(None) }}"
  414. groups:
  415. - kube-node
  416. kibana:
  417. enabled: "{{ efk_enabled }}"
  418. container: true
  419. repo: "{{ kibana_image_repo }}"
  420. tag: "{{ kibana_image_tag }}"
  421. sha256: "{{ kibana_digest_checksum|default(None) }}"
  422. groups:
  423. - kube-node
  424. helm:
  425. enabled: "{{ helm_enabled }}"
  426. container: true
  427. repo: "{{ helm_image_repo }}"
  428. tag: "{{ helm_image_tag }}"
  429. sha256: "{{ helm_digest_checksum|default(None) }}"
  430. groups:
  431. - kube-node
  432. tiller:
  433. enabled: "{{ helm_enabled }}"
  434. container: true
  435. repo: "{{ tiller_image_repo }}"
  436. tag: "{{ tiller_image_tag }}"
  437. sha256: "{{ tiller_digest_checksum|default(None) }}"
  438. groups:
  439. - kube-node
  440. vault:
  441. enabled: "{{ cert_management == 'vault' }}"
  442. container: "{{ vault_deployment_type != 'host' }}"
  443. file: "{{ vault_deployment_type == 'host' }}"
  444. dest: "vault/vault_{{ vault_version }}_linux_{{ image_arch }}.zip"
  445. mode: "0755"
  446. owner: "vault"
  447. repo: "{{ vault_image_repo }}"
  448. sha256: "{{ vault_binary_checksum if vault_deployment_type == 'host' else vault_digest_checksum|d(none) }}"
  449. source_url: "{{ vault_download_url }}"
  450. tag: "{{ vault_image_tag }}"
  451. unarchive: true
  452. url: "{{ vault_download_url }}"
  453. version: "{{ vault_version }}"
  454. groups:
  455. - vault
  456. registry:
  457. enabled: "{{ registry_enabled }}"
  458. container: true
  459. repo: "{{ registry_image_repo }}"
  460. tag: "{{ registry_image_tag }}"
  461. sha256: "{{ registry_digest_checksum|default(None) }}"
  462. groups:
  463. - kube-node
  464. registry_proxy:
  465. enabled: "{{ registry_enabled }}"
  466. container: true
  467. repo: "{{ registry_proxy_image_repo }}"
  468. tag: "{{ registry_proxy_image_tag }}"
  469. sha256: "{{ registry_proxy_digest_checksum|default(None) }}"
  470. groups:
  471. - kube-node
  472. local_volume_provisioner:
  473. enabled: "{{ local_volume_provisioner_enabled }}"
  474. container: true
  475. repo: "{{ local_volume_provisioner_image_repo }}"
  476. tag: "{{ local_volume_provisioner_image_tag }}"
  477. sha256: "{{ local_volume_provisioner_digest_checksum|default(None) }}"
  478. groups:
  479. - kube-node
  480. cephfs_provisioner:
  481. enabled: "{{ cephfs_provisioner_enabled }}"
  482. container: true
  483. repo: "{{ cephfs_provisioner_image_repo }}"
  484. tag: "{{ cephfs_provisioner_image_tag }}"
  485. sha256: "{{ cephfs_provisioner_digest_checksum|default(None) }}"
  486. groups:
  487. - kube-node
  488. ingress_nginx_controller:
  489. enabled: "{{ ingress_nginx_enabled }}"
  490. container: true
  491. repo: "{{ ingress_nginx_controller_image_repo }}"
  492. tag: "{{ ingress_nginx_controller_image_tag }}"
  493. sha256: "{{ ingress_nginx_controller_digest_checksum|default(None) }}"
  494. groups:
  495. - kube-node
  496. ingress_nginx_default_backend:
  497. enabled: "{{ ingress_nginx_enabled }}"
  498. container: true
  499. repo: "{{ ingress_nginx_default_backend_image_repo }}"
  500. tag: "{{ ingress_nginx_default_backend_image_tag }}"
  501. sha256: "{{ ingress_nginx_default_backend_digest_checksum|default(None) }}"
  502. groups:
  503. - kube-node
  504. cert_manager_controller:
  505. enabled: "{{ cert_manager_enabled }}"
  506. container: true
  507. repo: "{{ cert_manager_controller_image_repo }}"
  508. tag: "{{ cert_manager_controller_image_tag }}"
  509. sha256: "{{ cert_manager_controller_digest_checksum|default(None) }}"
  510. groups:
  511. - kube-node
  512. download_defaults:
  513. container: false
  514. file: false
  515. repo: None
  516. tag: None
  517. enabled: false
  518. dest: None
  519. version: None
  520. url: None
  521. unarchive: false
  522. owner: kube
  523. mode: None