diff --git a/README.md b/README.md index 1288f7e5b..ebadeb4d6 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ Note: Upstart/SysV init based OS types are not supported. - [coredns](https://github.com/coredns/coredns) v1.7.0 - [ingress-nginx](https://github.com/kubernetes/ingress-nginx) v0.41.2 -Note: The list of validated [docker versions](https://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker) is 1.13.1, 17.03, 17.06, 17.09, 18.06, 18.09 and 19.03. The recommended docker version is 19.03. The kubelet might break on docker's non-standard version numbering (it no longer uses semantic versioning). To ensure auto-updates don't break your cluster look into e.g. yum versionlock plugin or apt pin). +Note: The list of available docker version is 18.09, 19.03 and 20.10. The recommended docker version is 19.03. The kubelet might break on docker's non-standard version numbering (it no longer uses semantic versioning). To ensure auto-updates don't break your cluster look into e.g. yum versionlock plugin or apt pin). ## Requirements diff --git a/roles/container-engine/docker/defaults/main.yml b/roles/container-engine/docker/defaults/main.yml index 3ac22c029..d99af24b4 100644 --- a/roles/container-engine/docker/defaults/main.yml +++ b/roles/container-engine/docker/defaults/main.yml @@ -1,7 +1,6 @@ --- docker_version: '19.03' -docker_cli_version: "{{ 'latest' if docker_version != 'latest' and docker_version is version('18.09', '<') else docker_version }}" -docker_selinux_version: '17.03' +docker_cli_version: "{{ docker_version }}" docker_package_info: pkgs: diff --git a/roles/container-engine/docker/tasks/main.yml b/roles/container-engine/docker/tasks/main.yml index 69309ca1e..f90e40d0f 100644 --- a/roles/container-engine/docker/tasks/main.yml +++ b/roles/container-engine/docker/tasks/main.yml @@ -171,12 +171,6 @@ - name: flush handlers so we can wait for docker to come up meta: flush_handlers -- name: set fact for docker_version - command: "docker version -f '{{ '{{' }}.Client.Version{{ '}}' }}'" - register: installed_docker_version - changed_when: false - check_mode: false - # Install each plugin using a looped include to make error handling in the included task simpler. - include_tasks: docker_plugin.yml loop: "{{ docker_plugins }}" diff --git a/roles/container-engine/docker/templates/docker-options.conf.j2 b/roles/container-engine/docker/templates/docker-options.conf.j2 index 0dc0ef657..c9b7d4b8c 100644 --- a/roles/container-engine/docker/templates/docker-options.conf.j2 +++ b/roles/container-engine/docker/templates/docker-options.conf.j2 @@ -3,7 +3,7 @@ Environment="DOCKER_OPTS={{ docker_options|default('') }} --iptables={{ docker_i --exec-opt native.cgroupdriver={{ docker_cgroup_driver }} \ {% for i in docker_insecure_registries %}--insecure-registry={{ i }} {% endfor %} \ {% for i in docker_registry_mirrors %}--registry-mirror={{ i }} {% endfor %} \ -{% if docker_version != "latest" and docker_version is version('17.05', '<') %}--graph={% else %}--data-root={% endif %}{{ docker_daemon_graph }} \ +--data-root={{ docker_daemon_graph }} \ {% if ansible_os_family not in ["openSUSE Leap", "openSUSE Tumbleweed", "Suse"] %}{{ docker_log_opts }}{% endif %} \ {% if ansible_architecture == "aarch64" and ansible_os_family == "RedHat" %} \ --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc \ diff --git a/roles/container-engine/docker/templates/docker.service.j2 b/roles/container-engine/docker/templates/docker.service.j2 index 8466b7fd6..fd1d06121 100644 --- a/roles/container-engine/docker/templates/docker.service.j2 +++ b/roles/container-engine/docker/templates/docker.service.j2 @@ -2,17 +2,17 @@ Description=Docker Application Container Engine Documentation=http://docs.docker.com {% if ansible_os_family == "RedHat" %} -After=network.target {{ ' docker-storage-setup.service' if docker_container_storage_setup else '' }}{{ ' containerd.service' if installed_docker_version.stdout is version('18.09.1', '>=') else '' }} -{{ 'BindsTo=containerd.service' if installed_docker_version.stdout is version('18.09.1', '>=') else '' }} +After=network.target {{ ' docker-storage-setup.service' if docker_container_storage_setup else '' }} containerd.service +BindsTo=containerd.service {{ 'Wants=docker-storage-setup.service' if docker_container_storage_setup else '' }} {% elif ansible_os_family == "Debian" %} -After=network.target docker.socket{{ ' containerd.service' if installed_docker_version.stdout is version('18.09.1', '>=') else '' }} -{{ 'BindsTo=containerd.service' if installed_docker_version.stdout is version('18.09.1', '>=') else '' }} +After=network.target docker.socket containerd.service +BindsTo=containerd.service Wants=docker.socket {% elif ansible_os_family == "Suse" %} After=network.target lvm2-monitor.service SuSEfirewall2.service -# After=network.target{{ ' containerd.service' if installed_docker_version.stdout is version('18.09.1', '>=') else '' }} -# {{ 'BindsTo=containerd.service' if installed_docker_version.stdout is version('18.09.1', '>=') else '' }} +# After=network.target containerd.service +# BindsTo=containerd.service {% endif %} [Service] @@ -24,7 +24,7 @@ Environment=GOTRACEBACK=crash ExecReload=/bin/kill -s HUP $MAINPID Delegate=yes KillMode=process -ExecStart={{ docker_bin_dir }}/docker{% if installed_docker_version.stdout is version('17.03', '<') %} daemon{% else %}d{% endif %} \ +ExecStart={{ docker_bin_dir }}/dockerd \ {% if ansible_os_family == "Suse" %} --add-runtime oci=/usr/sbin/docker-runc \ {% endif %} diff --git a/roles/container-engine/docker/vars/amazon.yml b/roles/container-engine/docker/vars/amazon.yml index 468949f5c..09cc4fcd6 100644 --- a/roles/container-engine/docker/vars/amazon.yml +++ b/roles/container-engine/docker/vars/amazon.yml @@ -3,8 +3,6 @@ docker_versioned_pkg: 'latest': docker - '18.03': docker-18.03.1ce-5.amzn2 - '18.06': docker-18.06.1ce-10.amzn2 '18.09': docker-18.09.9ce-2.amzn2 '19.03': docker-19.03.6ce-1.amzn2 diff --git a/roles/container-engine/docker/vars/debian.yml b/roles/container-engine/docker/vars/debian.yml index 5338d183b..3819570b8 100644 --- a/roles/container-engine/docker/vars/debian.yml +++ b/roles/container-engine/docker/vars/debian.yml @@ -2,13 +2,6 @@ # https://download.docker.com/linux/debian/ docker_versioned_pkg: 'latest': docker-ce - '1.13': docker-engine=1.13.1-0~debian-{{ ansible_distribution_release|lower }} - '17.03': docker-ce=17.03.2~ce-0~debian-{{ ansible_distribution_release|lower }} - '17.06': docker-ce=17.06.2~ce-0~debian - '17.09': docker-ce=17.09.0~ce-0~debian - '17.12': docker-ce=17.12.1~ce-0~debian - '18.03': docker-ce=18.03.1~ce-0~debian - '18.06': docker-ce=18.06.2~ce~3-0~debian '18.09': docker-ce=5:18.09.9~3-0~debian-{{ ansible_distribution_release|lower }} '19.03': docker-ce=5:19.03.14~3-0~debian-{{ ansible_distribution_release|lower }} '20.10': docker-ce=5:20.10.2~3-0~debian-{{ ansible_distribution_release|lower }} diff --git a/roles/container-engine/docker/vars/fedora.yml b/roles/container-engine/docker/vars/fedora.yml index 1284eaacd..f2a130132 100644 --- a/roles/container-engine/docker/vars/fedora.yml +++ b/roles/container-engine/docker/vars/fedora.yml @@ -3,9 +3,6 @@ # https://download.docker.com/linux/fedora//x86_64/stable/Packages/ docker_versioned_pkg: 'latest': docker-ce - '18.03': docker-ce-18.03.1.ce-3.fc{{ ansible_distribution_major_version }} - '18.06': docker-ce-18.06.2.ce-3.fc{{ ansible_distribution_major_version }} - '18.09': docker-ce-18.09.7-3.fc{{ ansible_distribution_major_version }} '19.03': docker-ce-19.03.14-3.fc{{ ansible_distribution_major_version }} '20.10': docker-ce-20.10.2-3.fc{{ ansible_distribution_major_version }} 'stable': docker-ce-19.03.14-3.fc{{ ansible_distribution_major_version }} @@ -13,7 +10,6 @@ docker_versioned_pkg: docker_cli_versioned_pkg: 'latest': docker-ce-cli - '18.09': docker-ce-cli-19.03.14-3.fc{{ ansible_distribution_major_version }} '19.03': docker-ce-cli-19.03.14-3.fc{{ ansible_distribution_major_version }} '20.10': docker-ce-cli-20.10.2-3.fc{{ ansible_distribution_major_version }} diff --git a/roles/container-engine/docker/vars/redhat-aarch64.yml b/roles/container-engine/docker/vars/redhat-aarch64.yml deleted file mode 100644 index e7f11cf81..000000000 --- a/roles/container-engine/docker/vars/redhat-aarch64.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -docker_kernel_min_version: '0' - -# Override defaults, missing 17.03 for aarch64 -docker_version: '1.13' - -# http://mirror.centos.org/altarch/7/extras/aarch64/Packages/ -# or do 'yum --showduplicates list docker' -docker_versioned_pkg: - 'latest': docker - '1.13': docker-1.13.1-109.gitcccb291.el7.centos - -# https://docs.docker.com/engine/installation/linux/centos/#install-from-a-package -# http://mirror.centos.org/altarch/7/extras/aarch64/Packages/ - -docker_package_info: - pkg_mgr: yum - pkgs: - - name: "{{ docker_versioned_pkg[docker_version | string] }}" - -docker_repo_key_info: - pkg_key: '' - repo_keys: [] - -docker_repo_info: - pkg_repo: '' - repos: [] diff --git a/roles/container-engine/docker/vars/redhat.yml b/roles/container-engine/docker/vars/redhat.yml index 0298da510..2e5c47375 100644 --- a/roles/container-engine/docker/vars/redhat.yml +++ b/roles/container-engine/docker/vars/redhat.yml @@ -4,11 +4,6 @@ # or do 'yum --showduplicates list docker-engine' docker_versioned_pkg: 'latest': docker-ce - '17.03': docker-ce-17.03.3.ce-1.el7 - '17.09': docker-ce-17.09.1.ce-1.el7.centos - '17.12': docker-ce-17.12.1.ce-1.el7.centos - '18.03': docker-ce-18.03.1.ce-1.el7.centos - '18.06': docker-ce-18.06.3.ce-3.el7 '18.09': docker-ce-18.09.9-3.el7 '19.03': docker-ce-19.03.14-3.el{{ ansible_distribution_major_version }} '20.10': docker-ce-20.10.2-3.el{{ ansible_distribution_major_version }} @@ -21,34 +16,15 @@ docker_cli_versioned_pkg: '19.03': docker-ce-cli-19.03.14-3.el{{ ansible_distribution_major_version }} '20.10': docker-ce-cli-20.10.2-3.el{{ ansible_distribution_major_version }} -docker_selinux_versioned_pkg: - 'latest': docker-ce-selinux-17.03.3.ce-1.el7 - '17.03': docker-ce-selinux-17.03.3.ce-1.el7 - 'stable': docker-ce-selinux-17.03.3.ce-1.el7 - 'edge': docker-ce-selinux-17.03.3.ce-1.el7 - -docker_pkgs_use_docker_ce: - - name: "{{ docker_selinux_versioned_pkg[docker_selinux_version | string] }}" - repo: "docker-ce" - - name: "{{ docker_versioned_pkg[docker_version | string] }}" - repo: "docker-ce" - -docker_pkgs: - - name: "{{ containerd_versioned_pkg[containerd_version | string] }}" - repo: "docker-ce" - - name: "{{ docker_cli_versioned_pkg[docker_cli_version | string] }}" - repo: "docker-ce" - - name: "{{ docker_versioned_pkg[docker_version | string] }}" - repo: "docker-ce" - docker_package_info: pkg_mgr: yum - pkgs: |- - {%- if docker_version != "latest" and docker_version is version('17.04', '<') -%} - {{ docker_pkgs_use_docker_ce }} - {%- else -%} - {{ docker_pkgs }} - {%- endif %} + pkgs: + - name: "{{ containerd_versioned_pkg[containerd_version | string] }}" + repo: "docker-ce" + - name: "{{ docker_cli_versioned_pkg[docker_cli_version | string] }}" + repo: "docker-ce" + - name: "{{ docker_versioned_pkg[docker_version | string] }}" + repo: "docker-ce" docker_repo_key_info: pkg_key: '' diff --git a/roles/container-engine/docker/vars/ubuntu.yml b/roles/container-engine/docker/vars/ubuntu.yml index 959378dfa..8a4bdb46c 100644 --- a/roles/container-engine/docker/vars/ubuntu.yml +++ b/roles/container-engine/docker/vars/ubuntu.yml @@ -2,8 +2,6 @@ # https://download.docker.com/linux/ubuntu/ docker_versioned_pkg: 'latest': docker-ce - '17.12': docker-ce=17.12.1~ce-0~ubuntu-{{ ansible_distribution_release|lower }} - '18.06': docker-ce=18.06.2~ce~3-0~ubuntu '18.09': docker-ce=5:18.09.9~3-0~ubuntu-{{ ansible_distribution_release|lower }} '19.03': docker-ce=5:19.03.14~3-0~ubuntu-{{ ansible_distribution_release|lower }} '20.10': docker-ce=5:20.10.2~3-0~ubuntu-{{ ansible_distribution_release|lower }}