summaryrefslogtreecommitdiff
path: root/roles
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2021-05-08 23:34:34 +0200
committerChristian Pointner <equinox@spreadspace.org>2021-05-08 23:34:34 +0200
commit15b53903e14a7c7ddbb086fc94c42d7d2916b4df (patch)
tree89dd570c8173e4d84bb3020636ed8905258f8269 /roles
parentstandalone kubelets using containerd (diff)
enable zfs snapshotter for containerd
Diffstat (limited to 'roles')
-rw-r--r--roles/containerd/tasks/main.yml6
-rw-r--r--roles/kubernetes/base/tasks/cri_containerd.yml11
2 files changed, 16 insertions, 1 deletions
diff --git a/roles/containerd/tasks/main.yml b/roles/containerd/tasks/main.yml
index a082e27b..10371243 100644
--- a/roles/containerd/tasks/main.yml
+++ b/roles/containerd/tasks/main.yml
@@ -6,6 +6,12 @@
include_role:
name: "storage/{{ containerd_storage.type }}/volume"
+- name: create child-dataset for zfs-snapshotter
+ when: "containerd_storage is defined and containerd_storage.type == 'zfs'"
+ zfs:
+ name: "{{ containerd_storage.pool }}/{{ containerd_storage.name }}/io.containerd.snapshotter.v1.zfs"
+ state: present
+
- name: prepare package provider
when: containerd_pkg_provider != 'distro'
include_role:
diff --git a/roles/kubernetes/base/tasks/cri_containerd.yml b/roles/kubernetes/base/tasks/cri_containerd.yml
index 441360f7..97775b14 100644
--- a/roles/kubernetes/base/tasks/cri_containerd.yml
+++ b/roles/kubernetes/base/tasks/cri_containerd.yml
@@ -16,9 +16,18 @@
options:
SystemdCgroup: true
+- name: switch to zfs-snapshotter for cri
+ when: "containerd_storage is defined and containerd_storage.type == 'zfs'"
+ set_fact:
+ containerd_config_override_zfs:
+ plugins:
+ "io.containerd.grpc.v1.cri":
+ containerd:
+ snapshotter: "zfs"
+
- name: override mandatory settings in containerd_config
set_fact:
- containerd_config: "{{ containerd_config | default({}) | combine(containerd_config_override, recursive=True) }}"
+ containerd_config: "{{ containerd_config | default({}) | combine(containerd_config_override, recursive=True) | combine((containerd_config_override_zfs | default({})), recursive=True) }}"
- name: install containerd
include_role: