mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-10-31 14:36:20 -02:30
Merge pull request #13523 from VannTen/container_merge_repo_tag
downloads/container: merge repo and tag
This commit is contained in:
@@ -15,8 +15,8 @@ grep 'download_url:' ${REPO_ROOT_DIR}/${DOWNLOAD_YML} \
|
|||||||
|
|
||||||
# generate all images list template
|
# generate all images list template
|
||||||
sed -n '/^downloads:/,/download_defaults:/p' ${REPO_ROOT_DIR}/${DOWNLOAD_YML} \
|
sed -n '/^downloads:/,/download_defaults:/p' ${REPO_ROOT_DIR}/${DOWNLOAD_YML} \
|
||||||
| sed -n "s/repo: //p;s/tag: //p" | tr -d ' ' \
|
| sed -n "s/image_name: //p" | tr -d ' ' \
|
||||||
| sed 'N;s#\n# #g' | tr ' ' ':' | sed 's/\"//g' > ${TEMP_DIR}/images.list.template
|
| tr ' ' ':' | sed 's/\"//g' > ${TEMP_DIR}/images.list.template
|
||||||
|
|
||||||
# add kube-* images to images list template
|
# add kube-* images to images list template
|
||||||
# Those container images are downloaded by kubeadm, then roles/kubespray_defaults/defaults/main/download.yml
|
# Those container images are downloaded by kubeadm, then roles/kubespray_defaults/defaults/main/download.yml
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Kubespray supports several download/upload modes. The default is:
|
|||||||
|
|
||||||
* Each node downloads binaries and container images on its own, which is ``download_run_once: False``.
|
* Each node downloads binaries and container images on its own, which is ``download_run_once: False``.
|
||||||
* For K8s apps, pull policy is ``k8s_image_pull_policy: IfNotPresent``.
|
* For K8s apps, pull policy is ``k8s_image_pull_policy: IfNotPresent``.
|
||||||
* For system managed containers, like kubelet or etcd, pull policy is ``download_always_pull: False``, which is pull if only the wanted repo and tag/sha256 digest differs from that the host has.
|
* For system managed containers, like kubelet or etcd, pull policy is ``download_always_pull: False``, which is pull if only the wanted repo and tag differs from that the host has.
|
||||||
|
|
||||||
There is also a "pull once, push many" mode as well:
|
There is also a "pull once, push many" mode as well:
|
||||||
|
|
||||||
@@ -21,17 +21,11 @@ On caching:
|
|||||||
|
|
||||||
Container images and binary files are described by the vars like ``foo_version``,
|
Container images and binary files are described by the vars like ``foo_version``,
|
||||||
``foo_download_url``, ``foo_checksum`` for binaries and ``foo_image_repo``,
|
``foo_download_url``, ``foo_checksum`` for binaries and ``foo_image_repo``,
|
||||||
``foo_image_tag`` or optional ``foo_digest_checksum`` for containers.
|
``foo_image_tag`` for containers.
|
||||||
|
|
||||||
Container images may be defined by its repo and tag, for example:
|
Container images may be defined by its repo and tag, for example:
|
||||||
`andyshinn/dnsmasq:2.72`. Or by repo and tag and sha256 digest:
|
|
||||||
`andyshinn/dnsmasq@sha256:7c883354f6ea9876d176fe1d30132515478b2859d6fc0cbf9223ffdc09168193`.
|
|
||||||
|
|
||||||
Note, the SHA256 digest and the image tag must be both specified and correspond
|
|
||||||
to each other. The given example above is represented by the following vars:
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
dnsmasq_digest_checksum: 7c883354f6ea9876d176fe1d30132515478b2859d6fc0cbf9223ffdc09168193
|
|
||||||
dnsmasq_image_repo: andyshinn/dnsmasq
|
dnsmasq_image_repo: andyshinn/dnsmasq
|
||||||
dnsmasq_image_tag: '2.72'
|
dnsmasq_image_tag: '2.72'
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -10,15 +10,5 @@
|
|||||||
|
|
||||||
- name: Check_pull_required | Set pull_required if the desired image is not yet loaded
|
- name: Check_pull_required | Set pull_required if the desired image is not yet loaded
|
||||||
set_fact:
|
set_fact:
|
||||||
pull_required: "{{ (image_reponame | regex_replace('^docker\\.io/(library/)?', '')) not in docker_images.stdout.split(',') }}"
|
pull_required: "{{ (download.image_name | regex_replace('^docker\\.io/(library/)?', '')) not in docker_images.stdout.split(',') }}"
|
||||||
when: not download_always_pull
|
when: not download_always_pull
|
||||||
|
|
||||||
- name: Check_pull_required | Check that the local digest sha256 corresponds to the given image tag
|
|
||||||
assert:
|
|
||||||
that: "{{ download.repo }}:{{ download.tag }} in docker_images.stdout.split(',')"
|
|
||||||
when:
|
|
||||||
- not download_always_pull
|
|
||||||
- not pull_required
|
|
||||||
- pull_by_digest
|
|
||||||
tags:
|
|
||||||
- asserts
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
- not download_always_pull
|
- not download_always_pull
|
||||||
|
|
||||||
- debug: # noqa name[missing]
|
- debug: # noqa name[missing]
|
||||||
msg: "Pull {{ image_reponame }} required is: {{ pull_required }}"
|
msg: "Pull {{ download.image_name }} required is: {{ pull_required }}"
|
||||||
|
|
||||||
- name: Download_container | Determine if image is in cache
|
- name: Download_container | Determine if image is in cache
|
||||||
stat:
|
stat:
|
||||||
@@ -49,13 +49,13 @@
|
|||||||
- name: Stop if image not in cache on ansible host when download_force_cache=true
|
- name: Stop if image not in cache on ansible host when download_force_cache=true
|
||||||
assert:
|
assert:
|
||||||
that: image_is_cached
|
that: image_is_cached
|
||||||
msg: "Image cache file {{ image_path_cached }} not found for {{ image_reponame }} on localhost"
|
msg: "Image cache file {{ image_path_cached }} not found for {{ download.image_name }} on localhost"
|
||||||
when:
|
when:
|
||||||
- download_force_cache
|
- download_force_cache
|
||||||
- not download_run_once
|
- not download_run_once
|
||||||
|
|
||||||
- name: Download_container | Download image if required
|
- name: Download_container | Download image if required
|
||||||
command: "{{ image_pull_command_on_localhost if download_localhost else image_pull_command }} {{ image_reponame }}"
|
command: "{{ image_pull_command_on_localhost if download_localhost else image_pull_command }} {{ download.image_name }}"
|
||||||
delegate_to: "{{ download_delegate if download_run_once else inventory_hostname }}"
|
delegate_to: "{{ download_delegate if download_run_once else inventory_hostname }}"
|
||||||
delegate_facts: true
|
delegate_facts: true
|
||||||
run_once: "{{ download_run_once }}"
|
run_once: "{{ download_run_once }}"
|
||||||
|
|||||||
@@ -42,8 +42,7 @@
|
|||||||
value:
|
value:
|
||||||
enabled: true
|
enabled: true
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ item | regex_replace('^(.*):.*$', '\\1') }}"
|
image_name: "{{ item }}"
|
||||||
tag: "{{ item | regex_replace('^.*:(.*)$', '\\1') }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
loop: "{{ kubeadm_images_list | flatten(levels=1) }}"
|
loop: "{{ kubeadm_images_list | flatten(levels=1) }}"
|
||||||
|
|||||||
@@ -1,20 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: Set_container_facts | Display the name of the image being processed
|
|
||||||
debug:
|
|
||||||
msg: "{{ download.repo }}"
|
|
||||||
|
|
||||||
- name: Set_container_facts | Set if containers should be pulled by digest
|
|
||||||
set_fact:
|
|
||||||
pull_by_digest: "{{ download.sha256 is defined and download.sha256 }}"
|
|
||||||
|
|
||||||
- name: Set_container_facts | Define by what name to pull the image
|
|
||||||
set_fact:
|
|
||||||
image_reponame: >-
|
|
||||||
{%- if pull_by_digest %}{{ download.repo }}@sha256:{{ download.sha256 }}{%- else -%}{{ download.repo }}:{{ download.tag }}{%- endif -%}
|
|
||||||
|
|
||||||
- name: Set_container_facts | Define file name of image
|
- name: Set_container_facts | Define file name of image
|
||||||
set_fact:
|
set_fact:
|
||||||
image_filename: "{{ image_reponame | regex_replace('/|\0|:', '_') }}.tar"
|
image_filename: "{{ download.image_name | regex_replace('/|\0|:', '_') }}.tar"
|
||||||
|
|
||||||
- name: Set_container_facts | Define path of image
|
- name: Set_container_facts | Define path of image
|
||||||
set_fact:
|
set_fact:
|
||||||
@@ -23,33 +10,33 @@
|
|||||||
|
|
||||||
- name: Set image save/load command for docker
|
- name: Set image save/load command for docker
|
||||||
set_fact:
|
set_fact:
|
||||||
image_save_command: "{{ docker_bin_dir }}/docker save {{ image_reponame }} | gzip -{{ download_compress }} > {{ image_path_final }}"
|
image_save_command: "{{ docker_bin_dir }}/docker save {{ download.image_name }} | gzip -{{ download_compress }} > {{ image_path_final }}"
|
||||||
image_load_command: "{{ docker_bin_dir }}/docker load < {{ image_path_final }}"
|
image_load_command: "{{ docker_bin_dir }}/docker load < {{ image_path_final }}"
|
||||||
when: container_manager == 'docker'
|
when: container_manager == 'docker'
|
||||||
|
|
||||||
- name: Set image save/load command for containerd
|
- name: Set image save/load command for containerd
|
||||||
set_fact:
|
set_fact:
|
||||||
image_save_command: "{{ bin_dir }}/nerdctl -n k8s.io image save -o {{ image_path_final }} {{ image_reponame }}"
|
image_save_command: "{{ bin_dir }}/nerdctl -n k8s.io image save -o {{ image_path_final }} {{ download.image_name }}"
|
||||||
image_load_command: "{{ bin_dir }}/nerdctl -n k8s.io image load < {{ image_path_final }}"
|
image_load_command: "{{ bin_dir }}/nerdctl -n k8s.io image load < {{ image_path_final }}"
|
||||||
when: container_manager == 'containerd'
|
when: container_manager == 'containerd'
|
||||||
|
|
||||||
- name: Set image save/load command for crio
|
- name: Set image save/load command for crio
|
||||||
set_fact:
|
set_fact:
|
||||||
image_save_command: "{{ bin_dir }}/skopeo copy containers-storage:{{ image_reponame }} docker-archive:{{ image_path_final }} 2>/dev/null"
|
image_save_command: "{{ bin_dir }}/skopeo copy containers-storage:{{ download.image_name }} docker-archive:{{ image_path_final }} 2>/dev/null"
|
||||||
image_load_command: "{{ bin_dir }}/skopeo copy docker-archive:{{ image_path_final }} containers-storage:{{ image_reponame }} 2>/dev/null"
|
image_load_command: "{{ bin_dir }}/skopeo copy docker-archive:{{ image_path_final }} containers-storage:{{ download.image_name }} 2>/dev/null"
|
||||||
when: container_manager == 'crio'
|
when: container_manager == 'crio'
|
||||||
|
|
||||||
- name: Set image save/load command for docker on localhost
|
- name: Set image save/load command for docker on localhost
|
||||||
set_fact:
|
set_fact:
|
||||||
image_save_command_on_localhost: "{{ docker_bin_dir }}/docker save {{ image_reponame }} | gzip -{{ download_compress }} > {{ image_path_cached }}"
|
image_save_command_on_localhost: "{{ docker_bin_dir }}/docker save {{ download.image_name }} | gzip -{{ download_compress }} > {{ image_path_cached }}"
|
||||||
when: container_manager_on_localhost == 'docker'
|
when: container_manager_on_localhost == 'docker'
|
||||||
|
|
||||||
- name: Set image save/load command for containerd on localhost
|
- name: Set image save/load command for containerd on localhost
|
||||||
set_fact:
|
set_fact:
|
||||||
image_save_command_on_localhost: "{{ containerd_bin_dir }}/ctr -n k8s.io image export --platform linux/{{ image_arch }} {{ image_path_cached }} {{ image_reponame }}"
|
image_save_command_on_localhost: "{{ containerd_bin_dir }}/ctr -n k8s.io image export --platform linux/{{ image_arch }} {{ image_path_cached }} {{ download.image_name }}"
|
||||||
when: container_manager_on_localhost == 'containerd'
|
when: container_manager_on_localhost == 'containerd'
|
||||||
|
|
||||||
- name: Set image save/load command for crio on localhost
|
- name: Set image save/load command for crio on localhost
|
||||||
set_fact:
|
set_fact:
|
||||||
image_save_command_on_localhost: "{{ bin_dir }}/skopeo copy containers-storage:{{ image_reponame }} docker-archive:{{ image_path_final }} 2>/dev/null"
|
image_save_command_on_localhost: "{{ bin_dir }}/skopeo copy containers-storage:{{ download.image_name }} docker-archive:{{ image_path_final }} 2>/dev/null"
|
||||||
when: container_manager_on_localhost == 'crio'
|
when: container_manager_on_localhost == 'crio'
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ download_container: true
|
|||||||
# in the download_run_once mode.
|
# in the download_run_once mode.
|
||||||
download_localhost: false
|
download_localhost: false
|
||||||
|
|
||||||
# Always pull images if set to True. Otherwise check by the repo's tag/digest.
|
# Always pull images if set to True. Otherwise check by the repo's tag.
|
||||||
download_always_pull: false
|
download_always_pull: false
|
||||||
|
|
||||||
# Some problems may occur when downloading files over https proxy due to ansible bug
|
# Some problems may occur when downloading files over https proxy due to ansible bug
|
||||||
@@ -377,11 +377,8 @@ downloads:
|
|||||||
file: "{{ etcd_deployment_type == 'host' }}"
|
file: "{{ etcd_deployment_type == 'host' }}"
|
||||||
enabled: true
|
enabled: true
|
||||||
dest: "{{ local_release_dir }}/etcd-{{ etcd_version }}-linux-{{ image_arch }}.tar.gz"
|
dest: "{{ local_release_dir }}/etcd-{{ etcd_version }}-linux-{{ image_arch }}.tar.gz"
|
||||||
repo: "{{ etcd_image_repo }}"
|
image_name: "{{ etcd_image_repo }}:{{ etcd_image_tag }}"
|
||||||
tag: "{{ etcd_image_tag }}"
|
checksum: "{{ etcd_binary_checksum if etcd_deployment_type == 'host' else None }}"
|
||||||
checksum: >-
|
|
||||||
{{ etcd_binary_checksum if (etcd_deployment_type == 'host')
|
|
||||||
else etcd_digest_checksum | d(None) }}
|
|
||||||
url: "{{ etcd_download_url }}"
|
url: "{{ etcd_download_url }}"
|
||||||
unarchive: "{{ etcd_deployment_type == 'host' }}"
|
unarchive: "{{ etcd_deployment_type == 'host' }}"
|
||||||
owner: "root"
|
owner: "root"
|
||||||
@@ -586,63 +583,49 @@ downloads:
|
|||||||
cilium:
|
cilium:
|
||||||
enabled: "{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally }}"
|
enabled: "{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cilium_image_repo }}"
|
image_name: "{{ cilium_image_repo }}:{{ cilium_image_tag }}"
|
||||||
tag: "{{ cilium_image_tag }}"
|
|
||||||
checksum: "{{ cilium_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
cilium_operator:
|
cilium_operator:
|
||||||
enabled: "{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally }}"
|
enabled: "{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cilium_operator_image_repo }}-generic"
|
image_name: "{{ cilium_operator_image_repo }}-generic:{{ cilium_operator_image_tag }}"
|
||||||
tag: "{{ cilium_operator_image_tag }}"
|
|
||||||
checksum: "{{ cilium_operator_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
cilium_hubble_relay:
|
cilium_hubble_relay:
|
||||||
enabled: "{{ cilium_enable_hubble }}"
|
enabled: "{{ cilium_enable_hubble }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cilium_hubble_relay_image_repo }}"
|
image_name: "{{ cilium_hubble_relay_image_repo }}:{{ cilium_hubble_relay_image_tag }}"
|
||||||
tag: "{{ cilium_hubble_relay_image_tag }}"
|
|
||||||
checksum: "{{ cilium_hubble_relay_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
cilium_certgen:
|
cilium_certgen:
|
||||||
enabled: "{{ kube_network_plugin == 'cilium' }}"
|
enabled: "{{ kube_network_plugin == 'cilium' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cilium_certgen_image_repo }}"
|
image_name: "{{ cilium_certgen_image_repo }}:{{ cilium_certgen_image_tag }}"
|
||||||
tag: "{{ cilium_certgen_image_tag }}"
|
|
||||||
checksum: "{{ cilium_certgen_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
cilium_hubble_ui:
|
cilium_hubble_ui:
|
||||||
enabled: "{{ cilium_enable_hubble }}"
|
enabled: "{{ cilium_enable_hubble }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cilium_hubble_ui_image_repo }}"
|
image_name: "{{ cilium_hubble_ui_image_repo }}:{{ cilium_hubble_ui_image_tag }}"
|
||||||
tag: "{{ cilium_hubble_ui_image_tag }}"
|
|
||||||
checksum: "{{ cilium_hubble_ui_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
cilium_hubble_ui_backend:
|
cilium_hubble_ui_backend:
|
||||||
enabled: "{{ cilium_enable_hubble }}"
|
enabled: "{{ cilium_enable_hubble }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cilium_hubble_ui_backend_image_repo }}"
|
image_name: "{{ cilium_hubble_ui_backend_image_repo }}:{{ cilium_hubble_ui_backend_image_tag }}"
|
||||||
tag: "{{ cilium_hubble_ui_backend_image_tag }}"
|
|
||||||
checksum: "{{ cilium_hubble_ui_backend_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
cilium_envoy:
|
cilium_envoy:
|
||||||
enabled: "{{ kube_network_plugin == 'cilium' }}"
|
enabled: "{{ kube_network_plugin == 'cilium' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cilium_envoy_image_repo }}"
|
image_name: "{{ cilium_envoy_image_repo }}:{{ cilium_envoy_image_tag }}"
|
||||||
tag: "{{ cilium_envoy_image_tag }}"
|
|
||||||
checksum: "{{ cilium_envoy_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
@@ -661,27 +644,21 @@ downloads:
|
|||||||
multus:
|
multus:
|
||||||
enabled: "{{ kube_network_plugin_multus }}"
|
enabled: "{{ kube_network_plugin_multus }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ multus_image_repo }}"
|
image_name: "{{ multus_image_repo }}:{{ multus_image_tag }}"
|
||||||
tag: "{{ multus_image_tag }}"
|
|
||||||
checksum: "{{ multus_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
flannel:
|
flannel:
|
||||||
enabled: "{{ kube_network_plugin == 'flannel' }}"
|
enabled: "{{ kube_network_plugin == 'flannel' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ flannel_image_repo }}"
|
image_name: "{{ flannel_image_repo }}:{{ flannel_image_tag }}"
|
||||||
tag: "{{ flannel_image_tag }}"
|
|
||||||
checksum: "{{ flannel_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
flannel_init:
|
flannel_init:
|
||||||
enabled: "{{ kube_network_plugin == 'flannel' }}"
|
enabled: "{{ kube_network_plugin == 'flannel' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ flannel_init_image_repo }}"
|
image_name: "{{ flannel_init_image_repo }}:{{ flannel_init_image_tag }}"
|
||||||
tag: "{{ flannel_init_image_tag }}"
|
|
||||||
checksum: "{{ flannel_init_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
@@ -700,45 +677,35 @@ downloads:
|
|||||||
calico_node:
|
calico_node:
|
||||||
enabled: "{{ kube_network_plugin == 'calico' }}"
|
enabled: "{{ kube_network_plugin == 'calico' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ calico_node_image_repo }}"
|
image_name: "{{ calico_node_image_repo }}:{{ calico_node_image_tag }}"
|
||||||
tag: "{{ calico_node_image_tag }}"
|
|
||||||
checksum: "{{ calico_node_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
calico_cni:
|
calico_cni:
|
||||||
enabled: "{{ kube_network_plugin == 'calico' }}"
|
enabled: "{{ kube_network_plugin == 'calico' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ calico_cni_image_repo }}"
|
image_name: "{{ calico_cni_image_repo }}:{{ calico_cni_image_tag }}"
|
||||||
tag: "{{ calico_cni_image_tag }}"
|
|
||||||
checksum: "{{ calico_cni_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
calico_policy:
|
calico_policy:
|
||||||
enabled: "{{ enable_network_policy and kube_network_plugin in ['calico'] }}"
|
enabled: "{{ enable_network_policy and kube_network_plugin in ['calico'] }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ calico_policy_image_repo }}"
|
image_name: "{{ calico_policy_image_repo }}:{{ calico_policy_image_tag }}"
|
||||||
tag: "{{ calico_policy_image_tag }}"
|
|
||||||
checksum: "{{ calico_policy_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
calico_typha:
|
calico_typha:
|
||||||
enabled: "{{ typha_enabled }}"
|
enabled: "{{ typha_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ calico_typha_image_repo }}"
|
image_name: "{{ calico_typha_image_repo }}:{{ calico_typha_image_tag }}"
|
||||||
tag: "{{ calico_typha_image_tag }}"
|
|
||||||
checksum: "{{ calico_typha_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
calico_apiserver:
|
calico_apiserver:
|
||||||
enabled: "{{ calico_apiserver_enabled }}"
|
enabled: "{{ calico_apiserver_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ calico_apiserver_image_repo }}"
|
image_name: "{{ calico_apiserver_image_repo }}:{{ calico_apiserver_image_tag }}"
|
||||||
tag: "{{ calico_apiserver_image_tag }}"
|
|
||||||
checksum: "{{ calico_apiserver_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
@@ -756,81 +723,63 @@ downloads:
|
|||||||
kube_ovn:
|
kube_ovn:
|
||||||
enabled: "{{ kube_network_plugin == 'kube-ovn' }}"
|
enabled: "{{ kube_network_plugin == 'kube-ovn' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ kube_ovn_container_image_repo }}"
|
image_name: "{{ kube_ovn_container_image_repo }}:{{ kube_ovn_container_image_tag }}"
|
||||||
tag: "{{ kube_ovn_container_image_tag }}"
|
|
||||||
checksum: "{{ kube_ovn_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
kube_router:
|
kube_router:
|
||||||
enabled: "{{ kube_network_plugin == 'kube-router' }}"
|
enabled: "{{ kube_network_plugin == 'kube-router' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ kube_router_image_repo }}"
|
image_name: "{{ kube_router_image_repo }}:{{ kube_router_image_tag }}"
|
||||||
tag: "{{ kube_router_image_tag }}"
|
|
||||||
checksum: "{{ kube_router_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
pod_infra:
|
pod_infra:
|
||||||
enabled: true
|
enabled: true
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ pod_infra_image_repo }}"
|
image_name: "{{ pod_infra_image_repo }}:{{ pod_infra_image_tag }}"
|
||||||
tag: "{{ pod_infra_image_tag }}"
|
|
||||||
checksum: "{{ pod_infra_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
kube-vip:
|
kube-vip:
|
||||||
enabled: "{{ kube_vip_enabled }}"
|
enabled: "{{ kube_vip_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ kube_vip_image_repo }}"
|
image_name: "{{ kube_vip_image_repo }}:{{ kube_vip_image_tag }}"
|
||||||
tag: "{{ kube_vip_image_tag }}"
|
|
||||||
checksum: "{{ kube_vip_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
|
|
||||||
nginx:
|
nginx:
|
||||||
enabled: "{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'nginx' }}"
|
enabled: "{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'nginx' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ nginx_image_repo }}"
|
image_name: "{{ nginx_image_repo }}:{{ nginx_image_tag }}"
|
||||||
tag: "{{ nginx_image_tag }}"
|
|
||||||
checksum: "{{ nginx_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
haproxy:
|
haproxy:
|
||||||
enabled: "{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'haproxy' }}"
|
enabled: "{{ loadbalancer_apiserver_localhost and loadbalancer_apiserver_type == 'haproxy' }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ haproxy_image_repo }}"
|
image_name: "{{ haproxy_image_repo }}:{{ haproxy_image_tag }}"
|
||||||
tag: "{{ haproxy_image_tag }}"
|
|
||||||
checksum: "{{ haproxy_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
coredns:
|
coredns:
|
||||||
enabled: "{{ dns_mode in ['coredns', 'coredns_dual'] }}"
|
enabled: "{{ dns_mode in ['coredns', 'coredns_dual'] }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ coredns_image_repo }}"
|
image_name: "{{ coredns_image_repo }}:{{ coredns_image_tag }}"
|
||||||
tag: "{{ coredns_image_tag }}"
|
|
||||||
checksum: "{{ coredns_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
nodelocaldns:
|
nodelocaldns:
|
||||||
enabled: "{{ enable_nodelocaldns }}"
|
enabled: "{{ enable_nodelocaldns }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ nodelocaldns_image_repo }}"
|
image_name: "{{ nodelocaldns_image_repo }}:{{ nodelocaldns_image_tag }}"
|
||||||
tag: "{{ nodelocaldns_image_tag }}"
|
|
||||||
checksum: "{{ nodelocaldns_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- k8s_cluster
|
- k8s_cluster
|
||||||
|
|
||||||
dnsautoscaler:
|
dnsautoscaler:
|
||||||
enabled: "{{ dns_mode in ['coredns', 'coredns_dual'] and enable_dns_autoscaler }}"
|
enabled: "{{ dns_mode in ['coredns', 'coredns_dual'] and enable_dns_autoscaler }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ dnsautoscaler_image_repo }}"
|
image_name: "{{ dnsautoscaler_image_repo }}:{{ dnsautoscaler_image_tag }}"
|
||||||
tag: "{{ dnsautoscaler_image_tag }}"
|
|
||||||
checksum: "{{ dnsautoscaler_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
|
|
||||||
@@ -849,72 +798,56 @@ downloads:
|
|||||||
registry:
|
registry:
|
||||||
enabled: "{{ registry_enabled }}"
|
enabled: "{{ registry_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ registry_image_repo }}"
|
image_name: "{{ registry_image_repo }}:{{ registry_image_tag }}"
|
||||||
tag: "{{ registry_image_tag }}"
|
|
||||||
checksum: "{{ registry_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
metrics_server:
|
metrics_server:
|
||||||
enabled: "{{ metrics_server_enabled }}"
|
enabled: "{{ metrics_server_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ metrics_server_image_repo }}"
|
image_name: "{{ metrics_server_image_repo }}:{{ metrics_server_image_tag }}"
|
||||||
tag: "{{ metrics_server_image_tag }}"
|
|
||||||
checksum: "{{ metrics_server_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
|
|
||||||
local_volume_provisioner:
|
local_volume_provisioner:
|
||||||
enabled: "{{ local_volume_provisioner_enabled }}"
|
enabled: "{{ local_volume_provisioner_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ local_volume_provisioner_image_repo }}"
|
image_name: "{{ local_volume_provisioner_image_repo }}:{{ local_volume_provisioner_image_tag }}"
|
||||||
tag: "{{ local_volume_provisioner_image_tag }}"
|
|
||||||
checksum: "{{ local_volume_provisioner_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
local_path_provisioner:
|
local_path_provisioner:
|
||||||
enabled: "{{ local_path_provisioner_enabled }}"
|
enabled: "{{ local_path_provisioner_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ local_path_provisioner_image_repo }}"
|
image_name: "{{ local_path_provisioner_image_repo }}:{{ local_path_provisioner_image_tag }}"
|
||||||
tag: "{{ local_path_provisioner_image_tag }}"
|
|
||||||
checksum: "{{ local_path_provisioner_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
ingress_alb_controller:
|
ingress_alb_controller:
|
||||||
enabled: "{{ ingress_alb_enabled }}"
|
enabled: "{{ ingress_alb_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ alb_ingress_image_repo }}"
|
image_name: "{{ alb_ingress_image_repo }}:{{ alb_ingress_image_tag }}"
|
||||||
tag: "{{ alb_ingress_image_tag }}"
|
|
||||||
checksum: "{{ ingress_alb_controller_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
cert_manager_controller:
|
cert_manager_controller:
|
||||||
enabled: "{{ cert_manager_enabled }}"
|
enabled: "{{ cert_manager_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cert_manager_controller_image_repo }}"
|
image_name: "{{ cert_manager_controller_image_repo }}:{{ cert_manager_controller_image_tag }}"
|
||||||
tag: "{{ cert_manager_controller_image_tag }}"
|
|
||||||
checksum: "{{ cert_manager_controller_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
cert_manager_cainjector:
|
cert_manager_cainjector:
|
||||||
enabled: "{{ cert_manager_enabled }}"
|
enabled: "{{ cert_manager_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cert_manager_cainjector_image_repo }}"
|
image_name: "{{ cert_manager_cainjector_image_repo }}:{{ cert_manager_cainjector_image_tag }}"
|
||||||
tag: "{{ cert_manager_cainjector_image_tag }}"
|
|
||||||
checksum: "{{ cert_manager_cainjector_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
cert_manager_webhook:
|
cert_manager_webhook:
|
||||||
enabled: "{{ cert_manager_enabled }}"
|
enabled: "{{ cert_manager_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cert_manager_webhook_image_repo }}"
|
image_name: "{{ cert_manager_webhook_image_repo }}:{{ cert_manager_webhook_image_tag }}"
|
||||||
tag: "{{ cert_manager_webhook_image_tag }}"
|
|
||||||
checksum: "{{ cert_manager_webhook_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
@@ -945,99 +878,77 @@ downloads:
|
|||||||
csi_attacher:
|
csi_attacher:
|
||||||
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ csi_attacher_image_repo }}"
|
image_name: "{{ csi_attacher_image_repo }}:{{ csi_attacher_image_tag }}"
|
||||||
tag: "{{ csi_attacher_image_tag }}"
|
|
||||||
checksum: "{{ csi_attacher_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
csi_provisioner:
|
csi_provisioner:
|
||||||
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ csi_provisioner_image_repo }}"
|
image_name: "{{ csi_provisioner_image_repo }}:{{ csi_provisioner_image_tag }}"
|
||||||
tag: "{{ csi_provisioner_image_tag }}"
|
|
||||||
checksum: "{{ csi_provisioner_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
csi_snapshotter:
|
csi_snapshotter:
|
||||||
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ csi_snapshotter_image_repo }}"
|
image_name: "{{ csi_snapshotter_image_repo }}:{{ csi_snapshotter_image_tag }}"
|
||||||
tag: "{{ csi_snapshotter_image_tag }}"
|
|
||||||
checksum: "{{ csi_snapshotter_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
snapshot_controller:
|
snapshot_controller:
|
||||||
enabled: "{{ csi_snapshot_controller_enabled }}"
|
enabled: "{{ csi_snapshot_controller_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ snapshot_controller_image_repo }}"
|
image_name: "{{ snapshot_controller_image_repo }}:{{ snapshot_controller_image_tag }}"
|
||||||
tag: "{{ snapshot_controller_image_tag }}"
|
|
||||||
checksum: "{{ snapshot_controller_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
csi_resizer:
|
csi_resizer:
|
||||||
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ csi_resizer_image_repo }}"
|
image_name: "{{ csi_resizer_image_repo }}:{{ csi_resizer_image_tag }}"
|
||||||
tag: "{{ csi_resizer_image_tag }}"
|
|
||||||
checksum: "{{ csi_resizer_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
csi_livenessprobe:
|
csi_livenessprobe:
|
||||||
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ csi_livenessprobe_image_repo }}"
|
image_name: "{{ csi_livenessprobe_image_repo }}:{{ csi_livenessprobe_image_tag }}"
|
||||||
tag: "{{ csi_livenessprobe_image_tag }}"
|
|
||||||
checksum: "{{ csi_livenessprobe_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
csi_node_driver_registrar:
|
csi_node_driver_registrar:
|
||||||
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
enabled: "{{ cinder_csi_enabled or aws_ebs_csi_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ csi_node_driver_registrar_image_repo }}"
|
image_name: "{{ csi_node_driver_registrar_image_repo }}:{{ csi_node_driver_registrar_image_tag }}"
|
||||||
tag: "{{ csi_node_driver_registrar_image_tag }}"
|
|
||||||
checksum: "{{ csi_node_driver_registrar_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
cinder_csi_plugin:
|
cinder_csi_plugin:
|
||||||
enabled: "{{ cinder_csi_enabled }}"
|
enabled: "{{ cinder_csi_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ cinder_csi_plugin_image_repo }}"
|
image_name: "{{ cinder_csi_plugin_image_repo }}:{{ cinder_csi_plugin_image_tag }}"
|
||||||
tag: "{{ cinder_csi_plugin_image_tag }}"
|
|
||||||
checksum: "{{ cinder_csi_plugin_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
aws_ebs_csi_plugin:
|
aws_ebs_csi_plugin:
|
||||||
enabled: "{{ aws_ebs_csi_enabled }}"
|
enabled: "{{ aws_ebs_csi_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ aws_ebs_csi_plugin_image_repo }}"
|
image_name: "{{ aws_ebs_csi_plugin_image_repo }}:{{ aws_ebs_csi_plugin_image_tag }}"
|
||||||
tag: "{{ aws_ebs_csi_plugin_image_tag }}"
|
|
||||||
checksum: "{{ aws_ebs_csi_plugin_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_node
|
- kube_node
|
||||||
|
|
||||||
metallb_speaker:
|
metallb_speaker:
|
||||||
enabled: "{{ metallb_speaker_enabled }}"
|
enabled: "{{ metallb_speaker_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ metallb_speaker_image_repo }}"
|
image_name: "{{ metallb_speaker_image_repo }}:{{ metallb_image_tag }}"
|
||||||
tag: "{{ metallb_image_tag }}"
|
|
||||||
checksum: "{{ metallb_speaker_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
|
|
||||||
metallb_controller:
|
metallb_controller:
|
||||||
enabled: "{{ metallb_enabled }}"
|
enabled: "{{ metallb_enabled }}"
|
||||||
container: true
|
container: true
|
||||||
repo: "{{ metallb_controller_image_repo }}"
|
image_name: "{{ metallb_controller_image_repo }}:{{ metallb_image_tag }}"
|
||||||
tag: "{{ metallb_image_tag }}"
|
|
||||||
checksum: "{{ metallb_controller_digest_checksum | default(None) }}"
|
|
||||||
groups:
|
groups:
|
||||||
- kube_control_plane
|
- kube_control_plane
|
||||||
|
|
||||||
@@ -1070,8 +981,7 @@ downloads:
|
|||||||
download_defaults:
|
download_defaults:
|
||||||
container: false
|
container: false
|
||||||
file: false
|
file: false
|
||||||
repo: None
|
image_name: None
|
||||||
tag: None
|
|
||||||
enabled: false
|
enabled: false
|
||||||
dest: None
|
dest: None
|
||||||
url: None
|
url: None
|
||||||
|
|||||||
Reference in New Issue
Block a user