containerd support (#4664)

* Add limited containerd support

Containerd support for Ubuntu + Calico

* Added CRI-O support for ubuntu

* containerd support.

* Reset  containerd support.

* fix lint.

* implemented feedback

* Change task name cri xx instead of cri-o in reset task and timeout condition.

* set crictl to fixed version

* Use docker-ce's container.io package for containerd.

* Add check containerd is installable or not.

* Avoid stop docker when use containerd and optimize retry for reset.

* Add config.toml.

* Fixed containerd for kubelet.env.

* Merge PR #4629

* Remove unused ubuntu variable for containerd

* Polish code for containerd and cri-o

* Refactoring cri socket configuration.

* Configurable conmon.

* Remove unused crictl/runc download

* Now crictl and runc is downloaded by common crictl.yml.

* fixed yamllint error

* Fixed brokenfiles by conflict.

* Remove commented line in config.toml

* Remove readded v1.12.x version

* Fixed broken set_docker_image_facts

* Fix yamllint errors.

* Remove unused apt source

* Fix crictl could not be installed

* Add containerd config from skolekonov's PR #4601
This commit is contained in:
okamototk
2019-06-30 06:09:20 +09:00
committed by Kubernetes Prow Robot
parent 216631bf02
commit 4c8b93e5b9
37 changed files with 610 additions and 214 deletions

View File

@@ -14,8 +14,6 @@
with_items:
- kubelet
- vault
- etcd
- etcd-events
failed_when: false
tags:
- services
@@ -26,8 +24,6 @@
state: absent
with_items:
- kubelet
- etcd
- etcd-events
- vault
- calico-node
register: services_removed
@@ -57,6 +53,7 @@
retries: 4
until: remove_all_containers.rc == 0
delay: 5
when: container_manager == "docker"
tags:
- docker
@@ -64,50 +61,76 @@
service:
name: docker
state: restarted
when: docker_dropins_removed.changed
when: docker_dropins_removed.changed and container_manager == "docker"
tags:
- docker
- name: reset | stop all cri-o containers
shell: "crictl ps -aq | xargs -r crictl stop"
register: remove_all_crio_containers
retries: 4
until: remove_all_crio_containers.rc == 0
- name: reset | stop all cri containers
shell: "crictl ps -aq | xargs -r crictl -t 60s stop"
register: remove_all_cri_containers
retries: 5
until: remove_all_cri_containers.rc == 0
delay: 5
tags:
- crio
when: container_manager == 'crio'
- containerd
when: container_manager in ["crio", "containerd"]
- name: reset | remove all cri-o containers
shell: "crictl ps -aq | xargs -r crictl rm"
register: remove_all_crio_containers
retries: 4
until: remove_all_crio_containers.rc == 0
- name: reset | remove all cri containers
shell: "crictl ps -aq | xargs -r crictl -t 60s rm"
register: remove_all_cri_containers
retries: 5
until: remove_all_cri_containers.rc == 0
delay: 5
tags:
- crio
when: container_manager == 'crio' and deploy_container_engine|default(true)
- containerd
when: container_manager in ["crio", "containerd"] and deploy_container_engine|default(true)
- name: reset | stop all cri-o pods
shell: "crictl pods -q | xargs -r crictl stopp"
register: remove_all_crio_containers
retries: 4
until: remove_all_crio_containers.rc == 0
- name: reset | stop all cri pods
shell: "crictl pods -q | xargs -r crictl -t 60s stopp"
register: remove_all_cri_containers
retries: 5
until: remove_all_cri_containers.rc == 0
delay: 5
tags:
- crio
when: container_manager == 'crio'
- containerd
when: container_manager in ["crio", "containerd"]
- name: reset | remove all cri-o pods
shell: "crictl pods -q | xargs -r crictl rmp"
register: remove_all_crio_containers
retries: 4
until: remove_all_crio_containers.rc == 0
- name: reset | remove all cri pods
shell: "crictl pods -q | xargs -r crictl -t 60s rmp"
register: remove_all_cri_containers
retries: 5
until: remove_all_cri_containers.rc == 0
delay: 5
tags:
- crio
when: container_manager == 'crio'
- containerd
when: container_manager in ["crio", "containerd"]
- name: reset | stop etcd services
service:
name: "{{ item }}"
state: stopped
with_items:
- etcd
- etcd-events
failed_when: false
tags:
- services
- name: reset | remove etcd services
file:
path: "/etc/systemd/system/{{ item }}.service"
state: absent
with_items:
- etcd
- etcd-events
register: services_removed
tags:
- services
- name: reset | gather mounted kubelet dirs
shell: mount | grep /var/lib/kubelet/ | awk '{print $3}' | tac
args: