Browse Source
Enable containerd to deploy vanilla containerd package (#4951)
Enable containerd to deploy vanilla containerd package (#4951)
* Enable containerd to deploy vanilla containerd package Fixes kubeadm references to CRI socket for containerd Fixes download role cache feature to work with containerd Change-Id: I2ab8f0031107e2f0d1a85c39b4beb66f08509a01 * use containerd for flannel-addons job Change-Id: Ied375c7d65e64a625ffbd995ff16f2374067dee6 * add containerd vars Change-Id: Ib9a8a04e501c481a86235413cbec63f3672baf91 * fixup vars Change-Id: Ibea64e4b18405a578b52a13da100384582aa24c2 * more fixes * fix rh repo Change-Id: I00575a77cfb7b81d6095db5d918a52023c8f13ba * Adjust helm host install for containerdpull/4964/head
committed by
Kubernetes Prow Robot
24 changed files with 408 additions and 68 deletions
Split View
Diff Options
-
32roles/container-engine/containerd/defaults/main.yml
-
18roles/container-engine/containerd/handlers/main.yml
-
106roles/container-engine/containerd/tasks/containerd_repo.yml
-
2roles/container-engine/containerd/tasks/crictl.yml
-
134roles/container-engine/containerd/tasks/main.yml
-
3roles/container-engine/containerd/templates/apt_preferences.d/debian_containerd.j2
-
2roles/container-engine/containerd/templates/config.toml.j2
-
17roles/container-engine/containerd/templates/rh_containerd.repo.j2
-
28roles/container-engine/containerd/vars/redhat.yml
-
17roles/container-engine/containerd/vars/suse.yml
-
27roles/container-engine/containerd/vars/ubuntu-amd64.yml
-
7roles/container-engine/meta/main.yml
-
3roles/download/tasks/check_pull_required.yml
-
2roles/download/tasks/download_container.yml
-
3roles/download/tasks/main.yml
-
14roles/download/tasks/prep_download.yml
-
6roles/download/templates/kubeadm-images.yaml.j2
-
23roles/kubernetes-apps/helm/tasks/install_host.yml
-
6roles/kubernetes/client/tasks/main.yml
-
6roles/kubernetes/master/templates/kubeadm-config.v1beta2.yaml.j2
-
8roles/kubernetes/master/templates/kubeadm-controlplane.v1beta2.yaml.j2
-
10tests/files/gce_centos7-flannel-addons.yml
-
1tests/files/packet_centos7-flannel-addons.yml
-
1tests/files/packet_opensuse-canal.yml
@ -0,0 +1,106 @@ |
|||
--- |
|||
- name: ensure containerd repository public key is installed |
|||
action: "{{ containerd_repo_key_info.pkg_key }}" |
|||
args: |
|||
id: "{{ item }}" |
|||
url: "{{ containerd_repo_key_info.url }}" |
|||
state: present |
|||
register: keyserver_task_result |
|||
until: keyserver_task_result is succeeded |
|||
retries: 4 |
|||
delay: "{{ retry_stagger | d(3) }}" |
|||
with_items: "{{ containerd_repo_key_info.repo_keys }}" |
|||
when: |
|||
- ansible_os_family in ['Ubuntu', 'Debian'] |
|||
- not is_atomic |
|||
|
|||
- name: ensure containerd repository is enabled |
|||
action: "{{ containerd_repo_info.pkg_repo }}" |
|||
args: |
|||
repo: "{{ item }}" |
|||
state: present |
|||
with_items: "{{ containerd_repo_info.repos }}" |
|||
when: |
|||
- ansible_os_family in ['Ubuntu', 'Debian'] |
|||
- not is_atomic |
|||
- containerd_repo_info.repos|length > 0 |
|||
|
|||
# This is required to ensure any apt upgrade will not break kubernetes |
|||
- name: Set containerd pin priority to apt_preferences on Debian family |
|||
template: |
|||
src: "apt_preferences.d/debian_containerd.j2" |
|||
dest: "/etc/apt/preferences.d/containerd" |
|||
owner: "root" |
|||
mode: 0644 |
|||
when: |
|||
- ansible_os_family in ['Ubuntu', 'Debian'] |
|||
- not is_atomic |
|||
|
|||
- name: ensure containerd repository public key is installed |
|||
action: "{{ containerd_repo_key_info.pkg_key }}" |
|||
args: |
|||
id: "{{ item }}" |
|||
url: "{{ containerd_repo_key_info.url }}" |
|||
state: present |
|||
register: keyserver_task_result |
|||
until: keyserver_task_result is succeeded |
|||
retries: 4 |
|||
delay: "{{ retry_stagger | d(3) }}" |
|||
with_items: "{{ containerd_repo_key_info.repo_keys }}" |
|||
when: not (ansible_os_family in ["CoreOS", "Container Linux by CoreOS", "RedHat", "Suse", "ClearLinux"] or is_atomic) |
|||
|
|||
- name: ensure containerd repository is enabled |
|||
action: "{{ containerd_repo_info.pkg_repo }}" |
|||
args: |
|||
repo: "{{ item }}" |
|||
state: present |
|||
with_items: "{{ containerd_repo_info.repos }}" |
|||
when: not (ansible_os_family in ["CoreOS", "Container Linux by CoreOS", "RedHat", "Suse", "ClearLinux"] or is_atomic) and (containerd_repo_info.repos|length > 0) |
|||
|
|||
- name: Configure containerd repository on Fedora |
|||
template: |
|||
src: "fedora_containerd.repo.j2" |
|||
dest: "{{ yum_repo_dir }}/containerd.repo" |
|||
when: ansible_distribution == "Fedora" and not is_atomic |
|||
|
|||
- name: Configure containerd repository on RedHat/CentOS |
|||
template: |
|||
src: "rh_containerd.repo.j2" |
|||
dest: "{{ yum_repo_dir }}/containerd.repo" |
|||
when: ansible_distribution in ["CentOS","RedHat"] and not is_atomic |
|||
|
|||
- name: check if container-selinux is available |
|||
yum: |
|||
list: "container-selinux" |
|||
register: yum_result |
|||
when: ansible_distribution in ["CentOS","RedHat"] and not is_atomic |
|||
|
|||
- name: Configure extras repository on RedHat/CentOS if container-selinux is not available in current repos |
|||
yum_repository: |
|||
name: extras |
|||
description: "CentOS-7 - Extras" |
|||
state: present |
|||
baseurl: "{{ extras_rh_repo_base_url }}" |
|||
file: "extras" |
|||
gpgcheck: yes |
|||
gpgkey: "{{ extras_rh_repo_gpgkey }}" |
|||
keepcache: "{{ containerd_rpm_keepcache | default('1') }}" |
|||
proxy: " {{ http_proxy | default('_none_') }}" |
|||
when: |
|||
- ansible_distribution in ["CentOS","RedHat"] and not is_atomic |
|||
- yum_result.results | length == 0 |
|||
|
|||
- name: Copy yum.conf for editing |
|||
copy: |
|||
src: "{{ yum_conf }}" |
|||
dest: "{{ containerd_yum_conf }}" |
|||
remote_src: yes |
|||
when: ansible_distribution in ["CentOS","RedHat"] and not is_atomic |
|||
|
|||
- name: Edit copy of yum.conf to set obsoletes=0 |
|||
lineinfile: |
|||
path: "{{ containerd_yum_conf }}" |
|||
state: present |
|||
regexp: '^obsoletes=' |
|||
line: 'obsoletes=0' |
|||
when: ansible_distribution in ["CentOS","RedHat"] and not is_atomic |
@ -0,0 +1,3 @@ |
|||
Package: {{ containerd_package }} |
|||
Pin: version {{ containerd_version }}.* |
|||
Pin-Priority: 1001 |
@ -0,0 +1,17 @@ |
|||
[docker-ce] |
|||
name=Docker-CE Repository |
|||
baseurl={{ docker_rh_repo_base_url }} |
|||
enabled=1 |
|||
gpgcheck=1 |
|||
keepcache={{ docker_rpm_keepcache | default('1') }} |
|||
gpgkey={{ docker_rh_repo_gpgkey }} |
|||
{% if http_proxy is defined %}proxy={{ http_proxy }}{% endif %} |
|||
|
|||
[docker-engine] |
|||
name=Docker-Engine Repository |
|||
baseurl={{ dockerproject_rh_repo_base_url }} |
|||
enabled=1 |
|||
gpgcheck=1 |
|||
keepcache={{ docker_rpm_keepcache | default('1') }} |
|||
gpgkey={{ dockerproject_rh_repo_gpgkey }} |
|||
{% if http_proxy is defined %}proxy={{ http_proxy }}{% endif %} |
@ -0,0 +1,28 @@ |
|||
--- |
|||
|
|||
containerd_versioned_pkg: |
|||
'latest': "{{ containerd_package }}" |
|||
'1.2.4': "{{ containerd_package }}-1.2.4-3.1.el7" |
|||
'1.2.5': "{{ containerd_package }}-1.2.5-3.1.el7" |
|||
'1.2.6': "{{ containerd_package }}-1.2.6-3.3.el7" |
|||
'stable': "{{ containerd_package }}-1.2.6-3.3.el7" |
|||
'edge': "{{ containerd_package }}-1.2.6-3.3.el7" |
|||
|
|||
containerd_package_info: |
|||
pkg_mgr: yum |
|||
pkgs: |
|||
- name: "{{ containerd_versioned_pkg[containerd_version | string] }}" |
|||
|
|||
containerd_pkgs: |
|||
- name: "{{ containerd_versioned_pkg[containerd_version | string] }}" |
|||
yum_conf: "{{ containerd_yum_conf }}" |
|||
|
|||
containerd_repo_key_info: |
|||
pkg_key: '' |
|||
repo_keys: [] |
|||
|
|||
containerd_repo_info: |
|||
pkg_repo: '' |
|||
repos: [] |
|||
|
|||
runc_binary: /bin/runc |
@ -0,0 +1,17 @@ |
|||
--- |
|||
# docker-ce containerd.io does not contain daemon |
|||
containerd_package: containerd |
|||
|
|||
containerd_package_info: |
|||
pkg_mgr: zypper |
|||
pkgs: |
|||
- name: "{{ containerd_package }}" |
|||
state: latest |
|||
|
|||
containerd_repo_key_info: |
|||
pkg_key: '' |
|||
repo_keys: [] |
|||
|
|||
containerd_repo_info: |
|||
pkg_repo: '' |
|||
repos: [] |
@ -0,0 +1,27 @@ |
|||
--- |
|||
|
|||
containerd_versioned_pkg: |
|||
'latest': "{{ containerd_package }}" |
|||
'1.2.4': "{{ containerd_package }}=1.2.4-1" |
|||
'stable': "{{ containerd_package }}=1.2.4-1" |
|||
'edge': "{{ containerd_package }}=1.2.4-1" |
|||
|
|||
containerd_package_info: |
|||
pkg_mgr: apt |
|||
pkgs: |
|||
- name: "{{ containerd_versioned_pkg[containerd_version | string] }}" |
|||
force: true |
|||
|
|||
containerd_repo_key_info: |
|||
pkg_key: apt_key |
|||
url: '{{ containerd_ubuntu_repo_gpgkey }}' |
|||
repo_keys: |
|||
- '{{ containerd_ubuntu_repo_repokey }}' |
|||
|
|||
containerd_repo_info: |
|||
pkg_repo: apt_repository |
|||
repos: |
|||
- > |
|||
deb {{ containerd_ubuntu_repo_base_url }} |
|||
{{ ansible_distribution_release|lower }} |
|||
{{ containerd_ubuntu_repo_component }} |
Write
Preview
Loading…
Cancel
Save