mirror of
https://github.com/PyratLabs/ansible-role-k3s
synced 2025-01-08 18:50:19 +01:00
Improved Docker support for SUSE/openSUSE. Notes about control host requirements
This commit is contained in:
parent
26a3b2eef0
commit
ec61e0b4ce
9 changed files with 60 additions and 29 deletions
21
.travis.yml
21
.travis.yml
|
@ -9,24 +9,25 @@ env:
|
||||||
global:
|
global:
|
||||||
- ROLE_NAME: k3s
|
- ROLE_NAME: k3s
|
||||||
matrix:
|
matrix:
|
||||||
- MOLECULE_DISTRO: centos8
|
- MOLECULE_DISTRO: geerlingguy/docker-centos8-ansible:latest
|
||||||
- MOLECULE_DISTRO: centos7
|
- MOLECULE_DISTRO: geerlingguy/docker-centos7-ansible:latest
|
||||||
- MOLECULE_DISTRO: debian10
|
- MOLECULE_DISTRO: geerlingguy/docker-debian10-ansible:latest
|
||||||
- MOLECULE_DISTRO: fedora29
|
- MOLECULE_DISTRO: geerlingguy/docker-ubuntu1804-ansible:latest
|
||||||
- MOLECULE_DISTRO: fedora30
|
- MOLECULE_DISTRO: geerlingguy/docker-fedora29-ansible:latest
|
||||||
- MOLECULE_DISTRO: fedora31
|
- MOLECULE_DISTRO: geerlingguy/docker-fedora30-ansible:latest
|
||||||
- MOLECULE_DISTRO: amazonlinux2
|
- MOLECULE_DISTRO: geerlingguy/docker-fedora31-ansible:latest
|
||||||
|
- MOLECULE_DISTRO: geerlingguy/docker-amazonlinux2-ansible:latest
|
||||||
|
|
||||||
# Test installing docker
|
# Test installing docker
|
||||||
- MOLECULE_DISTRO: centos7
|
- MOLECULE_DISTRO: geerlingguy/docker-centos7-ansible:latest
|
||||||
MOLECULE_PLAYBOOK: playbook-docker.yml
|
MOLECULE_PLAYBOOK: playbook-docker.yml
|
||||||
|
|
||||||
# Test using alternate port and using wireguard as the flannel backend
|
# Test using alternate port and using wireguard as the flannel backend
|
||||||
- MOLECULE_DISTRO: debian10
|
- MOLECULE_DISTRO: geerlingguy/docker-fedora30-ansible:latest
|
||||||
MOLECULE_PLAYBOOK: playbook-docker-altport-wireguard.yml
|
MOLECULE_PLAYBOOK: playbook-docker-altport-wireguard.yml
|
||||||
|
|
||||||
# Test disabling all deployments
|
# Test disabling all deployments
|
||||||
- MOLECULE_DISTRO: fedora31
|
- MOLECULE_DISTRO: geerlingguy/docker-fedora31-ansible:latest
|
||||||
MOLECULE_PLAYBOOK: playbook-no-deploy.yml
|
MOLECULE_PLAYBOOK: playbook-no-deploy.yml
|
||||||
|
|
||||||
install:
|
install:
|
||||||
|
|
|
@ -7,6 +7,10 @@ Kubernetes") as either a standalone server or cluster.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
|
The control host requires the following Python dependencies:
|
||||||
|
|
||||||
|
- `jmespath >= 0.9.0`
|
||||||
|
|
||||||
This role has been tested on Ansible 2.6.0+ against the following Linux Distributions:
|
This role has been tested on Ansible 2.6.0+ against the following Linux Distributions:
|
||||||
|
|
||||||
- Amazon Linux 2
|
- Amazon Linux 2
|
||||||
|
|
|
@ -8,30 +8,30 @@ lint:
|
||||||
name: yamllint
|
name: yamllint
|
||||||
platforms:
|
platforms:
|
||||||
- name: node1
|
- name: node1
|
||||||
image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos8}-ansible:latest"
|
image: "${MOLECULE_DISTRO:-geerlingguy/docker-centos8-ansible:latest}"
|
||||||
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
||||||
volumes:
|
volumes:
|
||||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||||
privileged: true
|
privileged: true
|
||||||
pre_build_image: true
|
pre_build_image: ${MOLECULE_PREBUILT:-true}
|
||||||
networks:
|
networks:
|
||||||
- name: k3snet
|
- name: k3snet
|
||||||
- name: node2
|
- name: node2
|
||||||
image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos8}-ansible:latest"
|
image: "${MOLECULE_DISTRO:-geerlingguy/docker-centos8-ansible:latest}"
|
||||||
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
||||||
volumes:
|
volumes:
|
||||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||||
privileged: true
|
privileged: true
|
||||||
pre_build_image: true
|
pre_build_image: ${MOLECULE_PREBUILT:-true}
|
||||||
networks:
|
networks:
|
||||||
- name: k3snet
|
- name: k3snet
|
||||||
- name: node3
|
- name: node3
|
||||||
image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos8}-ansible:latest"
|
image: "${MOLECULE_DISTRO:-geerlingguy/docker-centos8-ansible:latest}"
|
||||||
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
||||||
volumes:
|
volumes:
|
||||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||||
privileged: true
|
privileged: true
|
||||||
pre_build_image: true
|
pre_build_image: ${MOLECULE_PREBUILT:-true}
|
||||||
networks:
|
networks:
|
||||||
- name: k3snet
|
- name: k3snet
|
||||||
provisioner:
|
provisioner:
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
- name: Ensure docker is installed using amazon-linux-extras
|
|
||||||
command: amazon-linux-extras install docker
|
|
||||||
args:
|
|
||||||
creates: /etc/docker
|
|
||||||
notify:
|
|
||||||
- restart docker
|
|
||||||
|
|
||||||
- meta: flush_handlers
|
|
10
tasks/install-docker-opensuse-leap.yml
Normal file
10
tasks/install-docker-opensuse-leap.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Ensure docker is installed using Zypper
|
||||||
|
zypper:
|
||||||
|
name: docker
|
||||||
|
state: present
|
||||||
|
notify:
|
||||||
|
- restart docker
|
||||||
|
|
||||||
|
- meta: flush_handlers
|
|
@ -12,6 +12,13 @@
|
||||||
retries: 3
|
retries: 3
|
||||||
delay: 10
|
delay: 10
|
||||||
|
|
||||||
|
- name: Check to see if Docker repository is available for this distribution
|
||||||
|
uri:
|
||||||
|
url: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/{{ ansible_distribution_major_version }}"
|
||||||
|
register: k3s_redhat_repo_check
|
||||||
|
failed_when: false
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
- name: Ensure Docker repository is installed and configured
|
- name: Ensure Docker repository is installed and configured
|
||||||
yum_repository:
|
yum_repository:
|
||||||
name: docker-ce
|
name: docker-ce
|
||||||
|
@ -22,3 +29,11 @@
|
||||||
gpgcheck: true
|
gpgcheck: true
|
||||||
state: present
|
state: present
|
||||||
when: ansible_distribution | lower not in ['amazon']
|
when: ansible_distribution | lower not in ['amazon']
|
||||||
|
and k3s_redhat_repo_check.status == 200
|
||||||
|
|
||||||
|
- name: Ensure Docker repository is installed and configured from file
|
||||||
|
command: yum-config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
|
||||||
|
args:
|
||||||
|
creates: /etc/yum.repos.d/docker-ce.repo
|
||||||
|
when: ansible_distribution | lower not in ['amazon']
|
||||||
|
and k3s_redhat_repo_check.status != 200
|
||||||
|
|
1
tasks/install-docker-prerequisites-suse.yml
Normal file
1
tasks/install-docker-prerequisites-suse.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
---
|
10
tasks/install-docker-suse.yml
Normal file
10
tasks/install-docker-suse.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
- name: Ensure docker is installed using Zypper
|
||||||
|
zypper:
|
||||||
|
name: docker
|
||||||
|
state: present
|
||||||
|
notify:
|
||||||
|
- restart docker
|
||||||
|
|
||||||
|
- meta: flush_handlers
|
|
@ -11,10 +11,10 @@
|
||||||
when: k3s_use_docker
|
when: k3s_use_docker
|
||||||
and ((k3s_control_workers)
|
and ((k3s_control_workers)
|
||||||
or (not k3s_control_workers and not k3s_control_node))
|
or (not k3s_control_workers and not k3s_control_node))
|
||||||
and ansible_distribution | lower not in ['amazon']
|
and ansible_distribution | replace(" ", "-") | lower not in ['amazon', 'suse', 'opensuse-leap']
|
||||||
|
|
||||||
- include_tasks: install-docker-{{ ansible_distribution | lower }}.yml
|
- include_tasks: install-docker-{{ ansible_distribution | replace(" ", "-") | lower }}.yml
|
||||||
when: ansible_distribution | lower in ['amazon']
|
when: ansible_distribution | replace(" ", "-") | lower in ['amazon', 'suse', 'opensuse-leap']
|
||||||
|
|
||||||
- import_tasks: get-version.yml
|
- import_tasks: get-version.yml
|
||||||
when: k3s_release_version is not defined or not k3s_release_version
|
when: k3s_release_version is not defined or not k3s_release_version
|
||||||
|
|
Loading…
Reference in a new issue