Add support for Kata Containers (#6256)

* Install Kata Containers as additional container runtime

* Create RuntimeClasses for Kata Containers

* Updated Vagrant to optionally run without Docker as container manager

* Updated Vagrant to optionally use Libvirt nested virtualization

* Add Kata Containers documentation

* Fix lint errors

* Add kata_containers_enabled to kubespray-defaults

* Fixed typo error

* Fixed typo error
This commit is contained in:
Pasquale Toscano
2020-06-22 09:28:39 +02:00
committed by GitHub
parent 1a802726d2
commit 8f5c4dcd2e
15 changed files with 664 additions and 2 deletions

View File

@@ -0,0 +1,5 @@
---
kata_containers_qemu_overhead: true
kata_containers_qemu_overhead_fixed_cpu: 10m
kata_containers_qemu_overhead_fixed_memory: 290Mi

View File

@@ -0,0 +1,34 @@
---
- name: Kata Containers | Create addon dir
file:
path: "{{ kube_config_dir }}/addons/kata_containers"
owner: root
group: root
mode: 0755
recurse: true
- name: Kata Containers | Templates list
set_fact:
kata_containers_templates:
- { name: runtimeclass-kata-qemu, file: runtimeclass-kata-qemu.yml, type: runtimeclass }
- name: Kata Containers | Create manifests
template:
src: "{{ item.file }}.j2"
dest: "{{ kube_config_dir }}/addons/kata_containers/{{ item.file }}"
with_items: "{{ kata_containers_templates }}"
register: kata_containers_manifests
when:
- inventory_hostname == groups['kube-master'][0]
- name: Kata Containers | Apply manifests
kube:
name: "{{ item.item.name }}"
kubectl: "{{ bin_dir }}/kubectl"
resource: "{{ item.item.type }}"
filename: "{{ kube_config_dir }}/addons/kata_containers/{{ item.item.file }}"
state: "latest"
with_items: "{{ kata_containers_manifests.results }}"
when:
- inventory_hostname == groups['kube-master'][0]

View File

@@ -0,0 +1,12 @@
---
kind: RuntimeClass
apiVersion: node.k8s.io/v1beta1
metadata:
name: kata-qemu
handler: kata-qemu
{% if kata_containers_qemu_overhead %}
overhead:
podFixed:
cpu: {{ kata_containers_qemu_overhead_fixed_cpu }}
memory: {{ kata_containers_qemu_overhead_fixed_memory }}
{% endif %}

View File

@@ -0,0 +1,8 @@
---
dependencies:
- role: kubernetes-apps/container_runtimes/kata_containers
when: kata_containers_enabled
tags:
- apps
- kata-containers
- container-runtimes

View File

@@ -77,6 +77,13 @@ dependencies:
- apps
- persistent_volumes
- role: kubernetes-apps/container_runtimes
when:
- inventory_hostname == groups['kube-master'][0]
tags:
- apps
- container-runtimes
- role: kubernetes-apps/container_engine_accelerator
when: nvidia_accelerator_enabled
tags: