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
Unified 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