# https://docs.docker.com/engine/install/ubuntu/ - name: Install dependency packages become: true ansible.builtin.apt: pkg: - ca-certificates - curl - name: Create apt keys folder become: true ansible.builtin.file: path: /etc/apt/keyrings state: directory mode: "0755" - name: Download docker asc become: true ansible.builtin.get_url: url: https://download.docker.com/linux/ubuntu/gpg dest: /etc/apt/keyrings/docker.asc mode: "0644" - name: Upload docker.list become: true ansible.builtin.template: src: docker.list.j2 dest: /etc/apt/sources.list.d/docker.list mode: "0644" - name: Update apt cache become: true ansible.builtin.apt: update_cache: true # cache_valid_time: 3600 - name: Install docker packages become: true ansible.builtin.apt: pkg: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin - name: Add user to docker group become: true ansible.builtin.user: name: "{{ ansible_user }}" groups: - docker append: true - name: Change the default Docker storage location become: true ansible.builtin.copy: src: daemon.json dest: /etc/docker/daemon.json mode: "0644" # https://kubernetes.io/docs/setup/production-environment/container-runtimes/#prerequisite-ipv4-forwarding-optional - name: Enable IPv4 packet forwarding become: true ansible.builtin.lineinfile: path: /etc/sysctl.d/101-k8s.conf line: "net.ipv4.ip_forward = 1" create: true mode: "0644" - name: Swap off become: true ansible.builtin.lineinfile: path: /etc/sysctl.d/101-k8s.conf line: "vm.swappiness = 0" - name: Setup kubernetes ansible.builtin.import_tasks: kubernetes.yml