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.

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