support containerd static binary

Co-authored-by: Max Gautier <mg@max.gautier.name>
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
This commit is contained in:
Kay Yan
2025-07-08 01:47:05 +00:00
parent 72518b4497
commit 97946cfdb7
13 changed files with 159 additions and 6 deletions

View File

@@ -167,7 +167,7 @@ kata_containers_download_url: "{{ github_url }}/kata-containers/kata-containers/
gvisor_runsc_download_url: "{{ storage_googleapis_url }}/gvisor/releases/release/{{ gvisor_version }}/{{ ansible_architecture }}/runsc"
gvisor_containerd_shim_runsc_download_url: "{{ storage_googleapis_url }}/gvisor/releases/release/{{ gvisor_version }}/{{ ansible_architecture }}/containerd-shim-runsc-v1"
nerdctl_download_url: "{{ github_url }}/containerd/nerdctl/releases/download/v{{ nerdctl_version }}/nerdctl-{{ nerdctl_version }}-{{ ansible_system | lower }}-{{ image_arch }}.tar.gz"
containerd_download_url: "{{ github_url }}/containerd/containerd/releases/download/v{{ containerd_version }}/containerd-{{ containerd_version }}-linux-{{ image_arch }}.tar.gz"
containerd_download_url: "{{ github_url }}/containerd/containerd/releases/download/v{{ containerd_version }}/containerd-{{ 'static-' if containerd_static_binary }}{{ containerd_version }}-linux-{{ image_arch }}.tar.gz"
cri_dockerd_download_url: "{{ github_url }}/Mirantis/cri-dockerd/releases/download/v{{ cri_dockerd_version }}/cri-dockerd-{{ cri_dockerd_version }}.{{ image_arch }}.tgz"
skopeo_download_url: "{{ github_url }}/lework/skopeo-binary/releases/download/v{{ skopeo_version }}/skopeo-linux-{{ image_arch }}"
yq_download_url: "{{ github_url }}/mikefarah/yq/releases/download/v{{ yq_version }}/yq_linux_{{ image_arch }}"
@@ -195,6 +195,8 @@ gvisor_runsc_binary_checksum: "{{ gvisor_runsc_binary_checksums[image_arch][gvis
gvisor_containerd_shim_binary_checksum: "{{ gvisor_containerd_shim_binary_checksums[image_arch][gvisor_version] }}"
nerdctl_archive_checksum: "{{ nerdctl_archive_checksums[image_arch][nerdctl_version] }}"
containerd_archive_checksum: "{{ containerd_archive_checksums[image_arch][containerd_version] }}"
containerd_static_archive_checksum: "{{ containerd_static_archive_checksums[image_arch][containerd_version] }}"
containerd_checksum: "{{ containerd_static_archive_checksum if containerd_static_binary else containerd_archive_checksum }}"
skopeo_binary_checksum: "{{ skopeo_binary_checksums[image_arch][skopeo_version] }}"
# Containers
@@ -554,8 +556,8 @@ downloads:
containerd:
enabled: "{{ container_manager == 'containerd' }}"
file: true
dest: "{{ local_release_dir }}/containerd-{{ containerd_version }}-linux-{{ image_arch }}.tar.gz"
checksum: "{{ containerd_archive_checksum }}"
dest: "{{ local_release_dir }}/containerd-{{ 'static-' if containerd_static_binary }}{{ containerd_version }}-linux-{{ image_arch }}.tar.gz"
checksum: "{{ containerd_checksum }}"
url: "{{ containerd_download_url }}"
unarchive: false
owner: "root"

View File

@@ -409,6 +409,9 @@ docker_plugins: []
# Containerd options - thse are relevant when container_manager == 'containerd'
containerd_use_systemd_cgroup: true
# Use static containerd binary for compatibility with older distributions (e.g., Debian 11).
containerd_static_binary: false
# Containerd conf default dir
containerd_storage_dir: "/var/lib/containerd"
containerd_state_dir: "/run/containerd"