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.

711 lines
26 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.14.1
  30. kubeadm_version: "{{ kube_version }}"
  31. etcd_version: v3.2.26
  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.4.0"
  37. calico_ctl_version: "v3.4.4"
  38. calico_cni_version: "v3.4.0"
  39. calico_policy_version: "v3.4.0"
  40. calico_rr_version: "v0.6.1"
  41. calico_typha_version: "v3.4.4"
  42. flannel_version: "v0.11.0"
  43. flannel_cni_version: "v0.3.0"
  44. cni_version: "v0.6.0"
  45. weave_version: 2.5.1
  46. pod_infra_version: 3.1
  47. contiv_version: 1.2.1
  48. cilium_version: "v1.3.0"
  49. kube_router_version: "v0.2.5"
  50. multus_version: "v3.1.autoconf"
  51. # Download URLs
  52. kubeadm_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kubeadm_version }}/bin/linux/{{ image_arch }}/kubeadm"
  53. hyperkube_download_url: "https://storage.googleapis.com/kubernetes-release/release/{{ kube_version }}/bin/linux/{{ image_arch }}/hyperkube"
  54. etcd_download_url: "https://github.com/coreos/etcd/releases/download/{{ etcd_version }}/etcd-{{ etcd_version }}-linux-{{ image_arch }}.tar.gz"
  55. cni_download_url: "https://github.com/containernetworking/plugins/releases/download/{{ cni_version }}/cni-plugins-{{ image_arch }}-{{ cni_version }}.tgz"
  56. calicoctl_download_url: "https://github.com/projectcalico/calicoctl/releases/download/{{ calico_ctl_version }}/calicoctl-linux-{{ image_arch }}"
  57. # Checksums
  58. hyperkube_checksums:
  59. arm64:
  60. v1.14.1: d5236efc2547fd07c7cc2ed9345dfbcd1204385847ca686cf1c62d15056de399
  61. v1.14.0: 708e00a41f6516d525dee00c91ebe3c3bf2feaf9b7f0af7689487e3e17e356c2
  62. v1.13.5: 8ffd84ba0cb6382a0ff96000458db8a83c92cac09458defe8496f0f0e155a6a8
  63. v1.13.4: b9e909e388634d103fe5376aafa313bed5e69293383b0c740de4fe8e18d42d12
  64. v1.13.3: 588037923b7f4090f5f7a3de23ea49a10345295f0b39bd0c1ebdaa24eaa76731
  65. v1.13.2: 7f2c2b0c6dcc81102a89fa41957db214416fc8a0cfae664fc0e150a7d3ad337b
  66. v1.13.1: 66205d99ec93090c6d814ab1de7c38cd84257d3dcf3a957618fad5878caea13d
  67. v1.13.0: 4391ea0d8d472c1737f1ce945756bf2a11395c708824c780d1a44fbddf031e59
  68. v1.12.6: 29036599f173ceeab2c72dff589aa02d5a55b45143c70de7c08cdea75a282bc2
  69. v1.12.5: 0b953f2d564d2f9298f3fc3ad6279cf4b18c1c967ebd2d542b79dda54e3aa27a
  70. v1.12.4: f66fc2c945c757d6b34cdd654c3d951f74f366026f9af0dd10eb64e482584811
  71. v1.12.3: a6142356fdbc8915cb474437355f809d987f6b983e21081dc3e18ea86c76bf85
  72. v1.12.2: 81e6fdd4e3ed8687a37d9b1830aa43d508fb7d5061c81cb2576a17077382b614
  73. v1.12.1: 6863440b5516c94f48a3a23bf325a007af09f5412f335444e204bc4b09fbad2a
  74. v1.12.0: 3eb06e2344ea5e4988fdda168627319e7b10665f7f9fc9d96c477ccb39d0b061
  75. amd64:
  76. v1.14.1: fb34b98da9325feca8daa09bb934dbe6a533aad69c2a5599bbed81b99bb9c267
  77. v1.14.0: af8b04504365dbe4ce6a1772f42eb390d4221a21149b522fc8a0c4b1cd3d97aa
  78. v1.13.5: 1a8a357ebfeab8ec62d0c6f11b59df1a93d6711c3a16e1501da32b55c144c73a
  79. v1.13.4: 6f2d755a350efec8b3b29e0ddf8362f60475cc10d42dea37f8f2159f7776867b
  80. v1.13.3: b238c772b5e4b9deed0cdc695fe86324660d037b38c6d6d7eeae7d7a657840c7
  81. v1.13.2: f159b587ec80ad03bf3b9bb09de5d64b773d01b0e34f2a4f1c816879c56aae6d
  82. v1.13.1: f64c4328d3853f3e5680e7d296b0f3ed25e67ff98321867309edea100ebb4fd7
  83. v1.13.0: 754f1baae5dc2ba29afc66e1f5d3b676ee59cd5c40ccce813092408d53bde3d9
  84. v1.12.6: eb7bd0c21977bca7071c65fa0ef60d5e09c9e9a16c4fd8435be5bd7f5b0d1221
  85. v1.12.5: f8b651816b2caa33e8b25a666e5c370e9786356d59f89579bba772f28370ed00
  86. v1.12.4: a4697d8f3791f0408fcdb97b3de187e47d7b39a63332c75f68f95e25f4891cc9
  87. v1.12.3: 600aad3f0d016716abd85931239806193ffbe95f2edfdcea11532d518ae5cdb1
  88. v1.12.2: 566dfed398c20c9944f8999d6370cb584cb8c228b3c5881137b6b3d9306e4b06
  89. v1.12.1: 4aa23cfb2fc2e2e4d0cbe0d83a648c38e4baabd6c66f5cdbbb40cbc7582fdc74
  90. v1.12.0: f80336201f3152a5307c01f8a7206847398dde15c69b3d20c76a7d9520b60daf
  91. kubeadm_checksums:
  92. arm64:
  93. v1.14.1: 5cf05464168e45ee4719264a267c65f9319fae1ceb9923fedab97a9d6a629e0b
  94. v1.14.0: 7ed9d706e50cd6d3fc618a7af3d19b691b8a5343ddedaeccb4ea09af3ecfae2c
  95. v1.13.5: 59a1995c171e5c1e74f5d02657eb2c155706f2d159ec1847b64dc866228c40d2
  96. v1.13.4: 4de71d4cfa4dc64127148d48f3a1a1fa7ea24cf0c4fa42957459d0e7f9c03799
  97. v1.13.3: bef1cbc2d199d32a1a31e70b864dc539b24e3c1cb87b50a1295cf03bec4832b0
  98. v1.13.2: 08279a3bfeff8c4f6768d6fd92ceff8276a555f9e81bf9d541112fc8eb29963e
  99. v1.13.1: 0f5c2c8a1ffe235785c0a38c9a6530d3d9e67b00e9a07c9d5dca4c36ede2e078
  100. v1.13.0: efc2669952b05161e181f0805bb0647308891259528a4868e69f4b1b68c70489
  101. v1.12.6: 2552b6b623c0c390d495e1fcfbecbebb2ca8853bce4011ce9b9dc3f1763a9b2b
  102. v1.12.5: f8b212c4a63d28e800a312c3785a62650c3c5bb26326e414d59e1a548d68fbae
  103. v1.12.4: 929ec24bee4d7645a18b157d6987554a131fde8d1efb704391bdfe81e6dcf1d4
  104. v1.12.3: e9e54a553447391de59a21d3da5b58d61d3431877de194434b4ae6544594009e
  105. v1.12.2: 2230dfabd76a4d0888facccb3ec3c802b658e835aaa817cbce2310d3f8533fc4
  106. v1.12.1: 226b9026ef913e98c2966503fde6973e3e33b5621e9c240667093dcb786bd811
  107. v1.12.0: c0d4a75615791e6880d051d6d601eb703e0ac3ec64f94f156b76351368b2eb9c
  108. amd64:
  109. v1.14.1: c4fc478572b5623857f5d820e1c107ae02049ca02cf2993e512a091a0196957b
  110. v1.14.0: 03678f49ee4737f8b8c4f59ace0d140a36ffbc4f6035c59561f59f45b57d0c93
  111. v1.13.5: 274bf887039a9993e30f96047a4a474c39e8471c4094acb75aea6beed793f079
  112. v1.13.4: c4300d1f3ebccad48c8e267e45a736c7d227b0e45ef36582fa8dcfe2ef7b1b10
  113. v1.13.3: ab767ea53e45aceba628977ef6c8c62eace72d6d232efeaf35ac50cbea5f3739
  114. v1.13.2: 7cb0ce57c1e6e2d85e05de3780a2f35a191fe93f89cfc5816b424efcf39834b9
  115. v1.13.1: 438173bfa0b7014ecae994c5b9e1f27e1328ab971a3fdb06a393a8095a176ba0
  116. v1.13.0: f5366206416dc4cfc840a7add2289957b56ccc479cc1b74f7397a4df995d6b06
  117. v1.12.6: 9048031930be9cb0506940c04f6ce67408d9caa9384b32d65d7aa5b6f1ad58ec
  118. v1.12.5: d61730b3deb4d9825af0cc1e452a4be2292400507128279770c39669f6599af9
  119. v1.12.4: 674ad5892ff2403f492c9042c3cea3fa0bfa3acf95bc7d1777c3645f0ddf64d7
  120. v1.12.3: c675aa3be82754b3f8dfdde2a1526a72986713312d46d898e65cb564c6aa8ad4
  121. v1.12.2: 51bc4bfd1d934a27245111c0ad1f793d5147ed15389415a1509502f23fcfa642
  122. v1.12.1: 5d95efd65aad398d85a9802799f36410ae7a95f9cbe73c8b10d2213c10a6d7be
  123. v1.12.0: 463fb058b7fa2591fb01f29f2451b054f6cbaa0f8a20394b4a4eb5d68473176f
  124. etcd_binary_checksums:
  125. arm64: c219b254ece7d7e308ae41569fa240dbae2de460bed818ee39b408b73f6360ef
  126. amd64: 127d4f2097c09d929beb9d3784590cc11102f4b4d4d4da7ad82d5c9e856afd38
  127. cni_binary_checksums:
  128. arm64: 016bbc989877e35e3cd49fafe11415fb2717e52c74fde6b1650411154cb91b81
  129. amd64: f04339a21b8edf76d415e7f17b620e63b8f37a76b2f706671587ab6464411f2d
  130. calicoctl_binary_checksums:
  131. amd64:
  132. v3.6.1: 3b01336de37550e020343d62a38c96c4605d33a3ed7ddba2fe38bc172a5b42b5
  133. v3.5.4: 197194b838cc2a9a7455c2ebd5505a5e24f8f3d994eb75c17f5dd568944100b8
  134. v3.4.4: 93bd084e053cf1bf3b7fef369677bd6767c30fe7135e2c7e044e31693422ef61
  135. arm64:
  136. v3.6.1: 60fbaeb257061647bdf12b5ede7a0d4298a5ee216f6472e5a92bb14ef5c2a5d3
  137. v3.5.4: a4481178665658658a73e4ceca9a1dff5cccded4179615c91d1c3e49fd96f237
  138. v3.4.4: ff35d9e8b5c00e9fe47d05e8f5123ec98fd641370f8cd93f4fbb3d913da77ab6
  139. etcd_binary_checksum: "{{ etcd_binary_checksums[image_arch] }}"
  140. cni_binary_checksum: "{{ cni_binary_checksums[image_arch] }}"
  141. hyperkube_binary_checksum: "{{ hyperkube_checksums[image_arch][kube_version] }}"
  142. kubeadm_binary_checksum: "{{ kubeadm_checksums[image_arch][kubeadm_version] }}"
  143. calicoctl_binary_checksum: "{{ calicoctl_binary_checksums[image_arch][calico_ctl_version] }}"
  144. # Containers
  145. # In some cases, we need a way to set --registry-mirror or --insecure-registry for docker,
  146. # it helps a lot for local private development or bare metal environment.
  147. # So you need define --registry-mirror or --insecure-registry, and modify the following url address.
  148. # example:
  149. # You need to deploy kubernetes cluster on local private development.
  150. # Also provide the address of your own private registry.
  151. # And use --insecure-registry options for docker
  152. etcd_image_repo: "quay.io/coreos/etcd"
  153. etcd_image_tag: "{{ etcd_version }}{%- if image_arch != 'amd64' -%}-{{ image_arch }}{%- endif -%}"
  154. flannel_image_repo: "quay.io/coreos/flannel"
  155. flannel_image_tag: "{{ flannel_version }}"
  156. flannel_cni_image_repo: "quay.io/coreos/flannel-cni"
  157. flannel_cni_image_tag: "{{ flannel_cni_version }}"
  158. calico_node_image_repo: "docker.io/calico/node"
  159. calico_node_image_tag: "{{ calico_version }}"
  160. calico_cni_image_repo: "docker.io/calico/cni"
  161. calico_cni_image_tag: "{{ calico_cni_version }}"
  162. calico_policy_image_repo: "docker.io/calico/kube-controllers"
  163. calico_policy_image_tag: "{{ calico_policy_version }}"
  164. calico_rr_image_repo: "docker.io/calico/routereflector"
  165. calico_rr_image_tag: "{{ calico_rr_version }}"
  166. calico_typha_image_repo: "docker.io/calico/typha"
  167. calico_typha_image_tag: "{{ calico_typha_version }}"
  168. pod_infra_image_repo: "gcr.io/google_containers/pause-{{ image_arch }}"
  169. pod_infra_image_tag: "{{ pod_infra_version }}"
  170. install_socat_image_repo: "docker.io/xueshanf/install-socat"
  171. install_socat_image_tag: "latest"
  172. netcheck_version: "v1.0"
  173. netcheck_agent_image_repo: "quay.io/l23network/k8s-netchecker-agent"
  174. netcheck_agent_image_tag: "{{ netcheck_version }}"
  175. netcheck_server_image_repo: "quay.io/l23network/k8s-netchecker-server"
  176. netcheck_server_image_tag: "{{ netcheck_version }}"
  177. weave_kube_image_repo: "docker.io/weaveworks/weave-kube"
  178. weave_kube_image_tag: "{{ weave_version }}"
  179. weave_npc_image_repo: "docker.io/weaveworks/weave-npc"
  180. weave_npc_image_tag: "{{ weave_version }}"
  181. contiv_image_repo: "docker.io/contiv/netplugin"
  182. contiv_image_tag: "{{ contiv_version }}"
  183. contiv_init_image_repo: "docker.io/contiv/netplugin-init"
  184. contiv_init_image_tag: "latest"
  185. contiv_auth_proxy_image_repo: "docker.io/contiv/auth_proxy"
  186. contiv_auth_proxy_image_tag: "{{ contiv_version }}"
  187. contiv_etcd_init_image_repo: "docker.io/ferest/etcd-initer"
  188. contiv_etcd_init_image_tag: latest
  189. contiv_ovs_image_repo: "docker.io/contiv/ovs"
  190. contiv_ovs_image_tag: "latest"
  191. cilium_image_repo: "docker.io/cilium/cilium"
  192. cilium_image_tag: "{{ cilium_version }}"
  193. cilium_init_image_repo: "docker.io/library/busybox"
  194. cilium_init_image_tag: "1.28.4"
  195. kube_router_image_repo: "docker.io/cloudnativelabs/kube-router"
  196. kube_router_image_tag: "{{ kube_router_version }}"
  197. multus_image_repo: "docker.io/nfvpe/multus"
  198. multus_image_tag: "{{ multus_version }}"
  199. nginx_image_repo: docker.io/nginx
  200. nginx_image_tag: 1.15
  201. haproxy_image_repo: docker.io/haproxy
  202. haproxy_image_tag: 1.9
  203. coredns_version: "1.5.0"
  204. coredns_image_repo: "docker.io/coredns/coredns"
  205. coredns_image_tag: "{{ coredns_version }}"
  206. nodelocaldns_version: "1.15.1"
  207. nodelocaldns_image_repo: "k8s.gcr.io/k8s-dns-node-cache"
  208. nodelocaldns_image_tag: "{{ nodelocaldns_version }}"
  209. dnsautoscaler_version: 1.4.0
  210. dnsautoscaler_image_repo: "k8s.gcr.io/cluster-proportional-autoscaler-{{ image_arch }}"
  211. dnsautoscaler_image_tag: "{{ dnsautoscaler_version }}"
  212. test_image_repo: docker.io/busybox
  213. test_image_tag: latest
  214. busybox_image_repo: docker.io/busybox
  215. busybox_image_tag: 1.29.2
  216. helm_version: "v2.13.1"
  217. helm_image_repo: "docker.io/lachlanevenson/k8s-helm"
  218. helm_image_tag: "{{ helm_version }}"
  219. tiller_image_repo: "gcr.io/kubernetes-helm/tiller"
  220. tiller_image_tag: "{{ helm_version }}"
  221. registry_image_repo: "docker.io/registry"
  222. registry_image_tag: "2.6"
  223. registry_proxy_image_repo: "gcr.io/google_containers/kube-registry-proxy"
  224. registry_proxy_image_tag: "0.4"
  225. metrics_server_version: "v0.3.2"
  226. metrics_server_image_repo: "gcr.io/google_containers/metrics-server-amd64"
  227. metrics_server_image_tag: "{{ metrics_server_version }}"
  228. local_volume_provisioner_image_repo: "quay.io/external_storage/local-volume-provisioner"
  229. local_volume_provisioner_image_tag: "v2.1.0"
  230. cephfs_provisioner_image_repo: "quay.io/external_storage/cephfs-provisioner"
  231. cephfs_provisioner_image_tag: "v2.1.0-k8s1.11"
  232. rbd_provisioner_image_repo: "quay.io/external_storage/rbd-provisioner"
  233. rbd_provisioner_image_tag: "v2.1.1-k8s1.11"
  234. local_path_provisioner_image_repo: "docker.io/rancher/local-path-provisioner"
  235. local_path_provisioner_image_tag: "v0.0.2"
  236. ingress_nginx_controller_image_repo: "quay.io/kubernetes-ingress-controller/nginx-ingress-controller"
  237. ingress_nginx_controller_image_tag: "0.24.1"
  238. cert_manager_version: "v0.5.2"
  239. cert_manager_controller_image_repo: "quay.io/jetstack/cert-manager-controller"
  240. cert_manager_controller_image_tag: "{{ cert_manager_version }}"
  241. addon_resizer_version: "1.8.3"
  242. addon_resizer_image_repo: "k8s.gcr.io/addon-resizer"
  243. addon_resizer_image_tag: "{{ addon_resizer_version }}"
  244. dashboard_image_repo: "gcr.io/google_containers/kubernetes-dashboard-{{ image_arch }}"
  245. dashboard_image_tag: "v1.10.1"
  246. downloads:
  247. netcheck_server:
  248. enabled: "{{ deploy_netchecker }}"
  249. container: true
  250. repo: "{{ netcheck_server_image_repo }}"
  251. tag: "{{ netcheck_server_image_tag }}"
  252. sha256: "{{ netcheck_server_digest_checksum|default(None) }}"
  253. groups:
  254. - k8s-cluster
  255. netcheck_agent:
  256. enabled: "{{ deploy_netchecker }}"
  257. container: true
  258. repo: "{{ netcheck_agent_image_repo }}"
  259. tag: "{{ netcheck_agent_image_tag }}"
  260. sha256: "{{ netcheck_agent_digest_checksum|default(None) }}"
  261. groups:
  262. - k8s-cluster
  263. etcd:
  264. container: "{{ etcd_deployment_type != 'host' }}"
  265. file: "{{ etcd_deployment_type == 'host' }}"
  266. enabled: true
  267. version: "{{ etcd_version }}"
  268. dest: "{{local_release_dir}}/etcd-{{ etcd_version }}-linux-amd64.tar.gz"
  269. repo: "{{ etcd_image_repo }}"
  270. tag: "{{ etcd_image_tag }}"
  271. sha256: "{{ etcd_binary_checksum if etcd_deployment_type == 'host' else etcd_digest_checksum|d(None) }}"
  272. url: "{{ etcd_download_url }}"
  273. unarchive: true
  274. owner: "root"
  275. mode: "0755"
  276. groups:
  277. - etcd
  278. cni:
  279. enabled: true
  280. file: true
  281. version: "{{ cni_version }}"
  282. dest: "{{local_release_dir}}/cni-plugins-{{ image_arch }}-{{ cni_version }}.tgz"
  283. sha256: "{{ cni_binary_checksum }}"
  284. url: "{{ cni_download_url }}"
  285. unarchive: false
  286. owner: "root"
  287. mode: "0755"
  288. groups:
  289. - k8s-cluster
  290. kubeadm:
  291. enabled: true
  292. file: true
  293. version: "{{ kubeadm_version }}"
  294. dest: "{{ local_release_dir }}/kubeadm-{{ kubeadm_version }}-{{ image_arch }}"
  295. sha256: "{{ kubeadm_binary_checksum }}"
  296. url: "{{ kubeadm_download_url }}"
  297. unarchive: false
  298. owner: "root"
  299. mode: "0755"
  300. groups:
  301. - k8s-cluster
  302. hyperkube_file:
  303. enabled: true
  304. file: true
  305. version: "{{ kube_version }}"
  306. dest: "{{ local_release_dir }}/hyperkube-{{ kube_version }}-{{ image_arch }}"
  307. sha256: "{{ hyperkube_binary_checksum }}"
  308. url: "{{ hyperkube_download_url }}"
  309. unarchive: false
  310. owner: "root"
  311. mode: "0755"
  312. groups:
  313. - k8s-cluster
  314. cilium:
  315. enabled: "{{ kube_network_plugin == 'cilium' }}"
  316. container: true
  317. repo: "{{ cilium_image_repo }}"
  318. tag: "{{ cilium_image_tag }}"
  319. sha256: "{{ cilium_digest_checksum|default(None) }}"
  320. groups:
  321. - k8s-cluster
  322. cilium_init:
  323. enabled: "{{ kube_network_plugin == 'cilium' }}"
  324. container: true
  325. repo: "{{ cilium_init_image_repo }}"
  326. tag: "{{ cilium_init_image_tag }}"
  327. sha256: "{{ cilium_init_digest_checksum|default(None) }}"
  328. groups:
  329. - k8s-cluster
  330. multus:
  331. enabled: "{{ kube_network_plugin_multus }}"
  332. container: true
  333. repo: "{{ multus_image_repo }}"
  334. tag: "{{ multus_image_tag }}"
  335. sha256: "{{ multus_digest_checksum|default(None) }}"
  336. groups:
  337. - k8s-cluster
  338. flannel:
  339. enabled: "{{ kube_network_plugin == 'flannel' or kube_network_plugin == 'canal' }}"
  340. container: true
  341. repo: "{{ flannel_image_repo }}"
  342. tag: "{{ flannel_image_tag }}"
  343. sha256: "{{ flannel_digest_checksum|default(None) }}"
  344. groups:
  345. - k8s-cluster
  346. flannel_cni:
  347. enabled: "{{ kube_network_plugin == 'flannel' }}"
  348. container: true
  349. repo: "{{ flannel_cni_image_repo }}"
  350. tag: "{{ flannel_cni_image_tag }}"
  351. sha256: "{{ flannel_cni_digest_checksum|default(None) }}"
  352. groups:
  353. - k8s-cluster
  354. calicoctl:
  355. enabled: "{{ kube_network_plugin == 'calico' or kube_network_plugin == 'canal' }}"
  356. file: true
  357. version: "{{ calico_ctl_version }}"
  358. dest: "{{local_release_dir}}/calicoctl"
  359. sha256: "{{ calicoctl_binary_checksum }}"
  360. url: "{{ calicoctl_download_url }}"
  361. unarchive: false
  362. owner: "root"
  363. mode: "0755"
  364. groups:
  365. - k8s-cluster
  366. calico_node:
  367. enabled: "{{ kube_network_plugin == 'calico' or kube_network_plugin == 'canal' }}"
  368. container: true
  369. repo: "{{ calico_node_image_repo }}"
  370. tag: "{{ calico_node_image_tag }}"
  371. sha256: "{{ calico_node_digest_checksum|default(None) }}"
  372. groups:
  373. - k8s-cluster
  374. calico_cni:
  375. enabled: "{{ kube_network_plugin == 'calico' or kube_network_plugin == 'canal' }}"
  376. container: true
  377. repo: "{{ calico_cni_image_repo }}"
  378. tag: "{{ calico_cni_image_tag }}"
  379. sha256: "{{ calico_cni_digest_checksum|default(None) }}"
  380. groups:
  381. - k8s-cluster
  382. calico_policy:
  383. enabled: "{{ enable_network_policy or kube_network_plugin == 'canal' }}"
  384. container: true
  385. repo: "{{ calico_policy_image_repo }}"
  386. tag: "{{ calico_policy_image_tag }}"
  387. sha256: "{{ calico_policy_digest_checksum|default(None) }}"
  388. groups:
  389. - k8s-cluster
  390. calico_rr:
  391. enabled: "{{ peer_with_calico_rr is defined and peer_with_calico_rr and kube_network_plugin == 'calico' }}"
  392. container: true
  393. repo: "{{ calico_rr_image_repo }}"
  394. tag: "{{ calico_rr_image_tag }}"
  395. sha256: "{{ calico_rr_digest_checksum|default(None) }}"
  396. groups:
  397. - calico-rr
  398. calico_typha:
  399. enabled: "{{ typha_enabled == 'calico' }}"
  400. container: true
  401. repo: "{{ calico_typha_image_repo }}"
  402. tag: "{{ calico_typha_image_tag }}"
  403. sha256: "{{ calico_typha_digest_checksum|default(None) }}"
  404. groups:
  405. - k8s-cluster
  406. weave_kube:
  407. enabled: "{{ kube_network_plugin == 'weave' }}"
  408. container: true
  409. repo: "{{ weave_kube_image_repo }}"
  410. tag: "{{ weave_kube_image_tag }}"
  411. sha256: "{{ weave_kube_digest_checksum|default(None) }}"
  412. groups:
  413. - k8s-cluster
  414. weave_npc:
  415. enabled: "{{ kube_network_plugin == 'weave' }}"
  416. container: true
  417. repo: "{{ weave_npc_image_repo }}"
  418. tag: "{{ weave_npc_image_tag }}"
  419. sha256: "{{ weave_npc_digest_checksum|default(None) }}"
  420. groups:
  421. - k8s-cluster
  422. contiv:
  423. enabled: "{{ kube_network_plugin == 'contiv' }}"
  424. container: true
  425. repo: "{{ contiv_image_repo }}"
  426. tag: "{{ contiv_image_tag }}"
  427. sha256: "{{ contiv_digest_checksum|default(None) }}"
  428. groups:
  429. - k8s-cluster
  430. contiv_auth_proxy:
  431. enabled: "{{ kube_network_plugin == 'contiv' }}"
  432. container: true
  433. repo: "{{ contiv_auth_proxy_image_repo }}"
  434. tag: "{{ contiv_auth_proxy_image_tag }}"
  435. sha256: "{{ contiv_auth_proxy_digest_checksum|default(None) }}"
  436. groups:
  437. - k8s-cluster
  438. contiv_etcd_init:
  439. enabled: "{{ kube_network_plugin == 'contiv' }}"
  440. container: true
  441. repo: "{{ contiv_etcd_init_image_repo }}"
  442. tag: "{{ contiv_etcd_init_image_tag }}"
  443. sha256: "{{ contiv_etcd_init_digest_checksum|default(None) }}"
  444. groups:
  445. - k8s-cluster
  446. kube_router:
  447. enabled: "{{ kube_network_plugin == 'kube-router' }}"
  448. container: true
  449. repo: "{{ kube_router_image_repo }}"
  450. tag: "{{ kube_router_image_tag }}"
  451. sha256: "{{ kube_router_digest_checksum|default(None) }}"
  452. groups:
  453. - k8s-cluster
  454. pod_infra:
  455. enabled: true
  456. container: true
  457. repo: "{{ pod_infra_image_repo }}"
  458. tag: "{{ pod_infra_image_tag }}"
  459. sha256: "{{ pod_infra_digest_checksum|default(None) }}"
  460. groups:
  461. - k8s-cluster
  462. install_socat:
  463. enabled: "{{ ansible_os_family in ['CoreOS', 'Container Linux by CoreOS'] }}"
  464. container: true
  465. repo: "{{ install_socat_image_repo }}"
  466. tag: "{{ install_socat_image_tag }}"
  467. sha256: "{{ install_socat_digest_checksum|default(None) }}"
  468. groups:
  469. - k8s-cluster
  470. nginx:
  471. enabled: "{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'nginx' }}"
  472. container: true
  473. repo: "{{ nginx_image_repo }}"
  474. tag: "{{ nginx_image_tag }}"
  475. sha256: "{{ nginx_digest_checksum|default(None) }}"
  476. groups:
  477. - kube-node
  478. haproxy:
  479. enabled: "{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'haproxy' }}"
  480. container: true
  481. repo: "{{ haproxy_image_repo }}"
  482. tag: "{{ haproxy_image_tag }}"
  483. sha256: "{{ haproxy_digest_checksum|default(None) }}"
  484. groups:
  485. - kube-node
  486. coredns:
  487. enabled: "{{ dns_mode in ['coredns', 'coredns_dual'] }}"
  488. container: true
  489. repo: "{{ coredns_image_repo }}"
  490. tag: "{{ coredns_image_tag }}"
  491. sha256: "{{ coredns_digest_checksum|default(None) }}"
  492. groups:
  493. - kube-master
  494. nodelocaldns:
  495. enabled: "{{ enable_nodelocaldns }}"
  496. container: true
  497. repo: "{{ nodelocaldns_image_repo }}"
  498. tag: "{{ nodelocaldns_image_tag }}"
  499. sha256: "{{ nodelocaldns_digest_checksum|default(None) }}"
  500. groups:
  501. - k8s-cluster
  502. dnsautoscaler:
  503. enabled: "{{ dns_mode in ['coredns', 'coredns_dual'] }}"
  504. container: true
  505. repo: "{{ dnsautoscaler_image_repo }}"
  506. tag: "{{ dnsautoscaler_image_tag }}"
  507. sha256: "{{ dnsautoscaler_digest_checksum|default(None) }}"
  508. groups:
  509. - kube-master
  510. busybox:
  511. enabled: "{{ kube_network_plugin in ['kube-router'] }}"
  512. container: true
  513. repo: "{{ busybox_image_repo }}"
  514. tag: "{{ busybox_image_tag }}"
  515. sha256: "{{ busybox_digest_checksum|default(None) }}"
  516. groups:
  517. - k8s-cluster
  518. testbox:
  519. enabled: false
  520. container: true
  521. repo: "{{ test_image_repo }}"
  522. tag: "{{ test_image_tag }}"
  523. sha256: "{{ testbox_digest_checksum|default(None) }}"
  524. helm:
  525. enabled: "{{ helm_enabled }}"
  526. container: true
  527. repo: "{{ helm_image_repo }}"
  528. tag: "{{ helm_image_tag }}"
  529. sha256: "{{ helm_digest_checksum|default(None) }}"
  530. groups:
  531. - kube-node
  532. tiller:
  533. enabled: "{{ helm_enabled }}"
  534. container: true
  535. repo: "{{ tiller_image_repo }}"
  536. tag: "{{ tiller_image_tag }}"
  537. sha256: "{{ tiller_digest_checksum|default(None) }}"
  538. groups:
  539. - kube-node
  540. registry:
  541. enabled: "{{ registry_enabled }}"
  542. container: true
  543. repo: "{{ registry_image_repo }}"
  544. tag: "{{ registry_image_tag }}"
  545. sha256: "{{ registry_digest_checksum|default(None) }}"
  546. groups:
  547. - kube-node
  548. registry_proxy:
  549. enabled: "{{ registry_enabled }}"
  550. container: true
  551. repo: "{{ registry_proxy_image_repo }}"
  552. tag: "{{ registry_proxy_image_tag }}"
  553. sha256: "{{ registry_proxy_digest_checksum|default(None) }}"
  554. groups:
  555. - kube-node
  556. metrics_server:
  557. enabled: "{{ metrics_server_enabled }}"
  558. container: true
  559. repo: "{{ metrics_server_image_repo }}"
  560. tag: "{{ metrics_server_image_tag }}"
  561. sha256: "{{ metrics_server_digest_checksum|default(None) }}"
  562. groups:
  563. - kube-master
  564. addon_resizer:
  565. # Currently addon_resizer is only used by metrics server
  566. enabled: "{{ metrics_server_enabled }}"
  567. container: true
  568. repo: "{{ addon_resizer_image_repo }}"
  569. tag: "{{ addon_resizer_image_tag }}"
  570. sha256: "{{ addon_resizer_digest_checksum|default(None) }}"
  571. groups:
  572. - kube-master
  573. local_volume_provisioner:
  574. enabled: "{{ local_volume_provisioner_enabled }}"
  575. container: true
  576. repo: "{{ local_volume_provisioner_image_repo }}"
  577. tag: "{{ local_volume_provisioner_image_tag }}"
  578. sha256: "{{ local_volume_provisioner_digest_checksum|default(None) }}"
  579. groups:
  580. - kube-node
  581. cephfs_provisioner:
  582. enabled: "{{ cephfs_provisioner_enabled }}"
  583. container: true
  584. repo: "{{ cephfs_provisioner_image_repo }}"
  585. tag: "{{ cephfs_provisioner_image_tag }}"
  586. sha256: "{{ cephfs_provisioner_digest_checksum|default(None) }}"
  587. groups:
  588. - kube-node
  589. rbd_provisioner:
  590. enabled: "{{ rbd_provisioner_enabled }}"
  591. container: true
  592. repo: "{{ rbd_provisioner_image_repo }}"
  593. tag: "{{ rbd_provisioner_image_tag }}"
  594. sha256: "{{ rbd_provisioner_digest_checksum|default(None) }}"
  595. groups:
  596. - kube-node
  597. local_path_provisioner:
  598. enabled: "{{ local_volume_provisioner_enabled }}"
  599. container: true
  600. repo: "{{ local_path_provisioner_image_repo }}"
  601. tag: "{{ local_path_provisioner_image_tag }}"
  602. sha256: "{{ local_path_provisioner_digest_checksum|default(None) }}"
  603. groups:
  604. - kube-node
  605. ingress_nginx_controller:
  606. enabled: "{{ ingress_nginx_enabled }}"
  607. container: true
  608. repo: "{{ ingress_nginx_controller_image_repo }}"
  609. tag: "{{ ingress_nginx_controller_image_tag }}"
  610. sha256: "{{ ingress_nginx_controller_digest_checksum|default(None) }}"
  611. groups:
  612. - kube-node
  613. cert_manager_controller:
  614. enabled: "{{ cert_manager_enabled }}"
  615. container: true
  616. repo: "{{ cert_manager_controller_image_repo }}"
  617. tag: "{{ cert_manager_controller_image_tag }}"
  618. sha256: "{{ cert_manager_controller_digest_checksum|default(None) }}"
  619. groups:
  620. - kube-node
  621. dashboard:
  622. enabled: "{{ dashboard_enabled }}"
  623. container: true
  624. repo: "{{ dashboard_image_repo }}"
  625. tag: "{{ dashboard_image_tag }}"
  626. sha256: "{{ dashboard_digest_checksum|default(None) }}"
  627. groups:
  628. - kube-master
  629. download_defaults:
  630. container: false
  631. file: false
  632. repo: None
  633. tag: None
  634. enabled: false
  635. dest: None
  636. version: None
  637. url: None
  638. unarchive: false
  639. owner: kube
  640. mode: None