Add crun support (#6864)
Signed-off-by: Victor Morales <v.morales@samsung.com>
This commit is contained in:
parent
da5077fa5f
commit
4f7a760a94
9 changed files with 81 additions and 1 deletions
|
@ -54,6 +54,13 @@ kata_runtimes:
|
|||
type: oci
|
||||
root: /run/kata-containers
|
||||
|
||||
# crun is a fast and low-memory footprint OCI Container Runtime fully written in C.
|
||||
crun_runtime:
|
||||
name: crun
|
||||
path: /usr/bin/crun
|
||||
type: oci
|
||||
root: /run/crun
|
||||
|
||||
# When this is true, CRI-O package repositories are added. Set this to false when using an
|
||||
# environment with preconfigured CRI-O package repositories.
|
||||
crio_add_repos: true
|
||||
|
|
|
@ -45,12 +45,18 @@
|
|||
|
||||
- import_tasks: "crictl.yml"
|
||||
|
||||
- name: Build a list of crio runtimes
|
||||
- name: Build a list of crio runtimes with Katacontainers runtimes
|
||||
set_fact:
|
||||
crio_runtimes: "{{ crio_runtimes + kata_runtimes }}"
|
||||
when:
|
||||
- kata_containers_enabled
|
||||
|
||||
- name: Build a list of crio runtimes with crun runtime
|
||||
set_fact:
|
||||
crio_runtimes: "{{ crio_runtimes + [crun_runtime] }}"
|
||||
when:
|
||||
- crun_enabled
|
||||
|
||||
- name: Make sure needed folders exist in the system
|
||||
with_items:
|
||||
- /etc/crio
|
||||
|
|
5
roles/container-engine/crun/defaults/main.yml
Normal file
5
roles/container-engine/crun/defaults/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
|
||||
crun_version: 0.15
|
||||
crun_release_url: https://github.com/containers/crun/releases/download/{{ crun_version }}/crun-{{ crun_version }}-linux-{{ host_architecture }}
|
||||
crun_bin_dir: /usr/bin/
|
19
roles/container-engine/crun/tasks/main.yml
Normal file
19
roles/container-engine/crun/tasks/main.yml
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
|
||||
- name: Create binary destination folder
|
||||
file:
|
||||
mode: '0755'
|
||||
state: directory
|
||||
path: "{{ crun_bin_dir }}"
|
||||
|
||||
- name: Check if binary exists
|
||||
stat:
|
||||
path: "{{ crun_bin_dir }}/crun"
|
||||
register: crun_stat
|
||||
|
||||
- name: Download binary
|
||||
get_url:
|
||||
url: "{{ crun_release_url }}"
|
||||
dest: "{{ crun_bin_dir }}/crun"
|
||||
mode: '0755'
|
||||
when: not crun_stat.stat.exists
|
|
@ -7,6 +7,13 @@ dependencies:
|
|||
- container-engine
|
||||
- kata-containers
|
||||
|
||||
- role: container-engine/crun
|
||||
when:
|
||||
- crun_enabled
|
||||
tags:
|
||||
- container-engine
|
||||
- crun
|
||||
|
||||
- role: container-engine/cri-o
|
||||
when:
|
||||
- container_manager == 'crio'
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
kind: RuntimeClass
|
||||
apiVersion: node.k8s.io/v1beta1
|
||||
metadata:
|
||||
name: crun
|
||||
handler: crun
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
|
||||
- name: crun | Copy runtime class manifest
|
||||
copy:
|
||||
src: runtimeclass-crun.yml
|
||||
dest: "{{ kube_config_dir }}/runtimeclass-crun.yml"
|
||||
mode: preserve
|
||||
when:
|
||||
- inventory_hostname == groups['kube-master'][0]
|
||||
|
||||
- name: crun | Apply manifests
|
||||
kube:
|
||||
name: "runtimeclass-crun"
|
||||
kubectl: "{{ bin_dir }}/kubectl"
|
||||
resource: "runtimeclass"
|
||||
filename: "{{ kube_config_dir }}/runtimeclass-crun.yml"
|
||||
state: "latest"
|
||||
when:
|
||||
- inventory_hostname == groups['kube-master'][0]
|
|
@ -6,3 +6,10 @@ dependencies:
|
|||
- apps
|
||||
- kata-containers
|
||||
- container-runtimes
|
||||
|
||||
- role: kubernetes-apps/container_runtimes/crun
|
||||
when: crun_enabled
|
||||
tags:
|
||||
- apps
|
||||
- crun
|
||||
- container-runtimes
|
||||
|
|
|
@ -224,6 +224,10 @@ container_manager: docker
|
|||
# When enabled, it requires `container_manager` different than Docker
|
||||
kata_containers_enabled: false
|
||||
|
||||
# Enable crun as additional container runtime
|
||||
# When enabled, it requires container_manager=crio
|
||||
crun_enabled: false
|
||||
|
||||
# Container on localhost (download images when download_localhost is true)
|
||||
container_manager_on_localhost: "{{ container_manager }}"
|
||||
|
||||
|
|
Loading…
Reference in a new issue