main.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # https://docs.docker.com/engine/install/ubuntu/
  2. - name: Install dependency packages
  3. become: true
  4. ansible.builtin.apt:
  5. pkg:
  6. - ca-certificates
  7. - curl
  8. - name: Create apt keys folder
  9. become: true
  10. ansible.builtin.file:
  11. path: /etc/apt/keyrings
  12. state: directory
  13. mode: "0755"
  14. - name: Download docker asc
  15. become: true
  16. ansible.builtin.get_url:
  17. url: https://download.docker.com/linux/ubuntu/gpg
  18. dest: /etc/apt/keyrings/docker.asc
  19. mode: "0644"
  20. - name: Upload docker.list
  21. become: true
  22. ansible.builtin.template:
  23. src: docker.list.j2
  24. dest: /etc/apt/sources.list.d/docker.list
  25. mode: "0644"
  26. - name: Update apt cache
  27. become: true
  28. ansible.builtin.apt:
  29. update_cache: true
  30. # cache_valid_time: 3600
  31. - name: Install docker packages
  32. become: true
  33. ansible.builtin.apt:
  34. pkg:
  35. - docker-ce
  36. - docker-ce-cli
  37. - containerd.io
  38. - docker-buildx-plugin
  39. - docker-compose-plugin
  40. - name: Add user to docker group
  41. become: true
  42. ansible.builtin.user:
  43. name: "{{ ansible_user }}"
  44. groups:
  45. - docker
  46. append: true
  47. - name: Change the default Docker storage location
  48. become: true
  49. ansible.builtin.copy:
  50. src: daemon.json
  51. dest: /etc/docker/daemon.json
  52. mode: "0644"
  53. # https://kubernetes.io/docs/setup/production-environment/container-runtimes/#prerequisite-ipv4-forwarding-optional
  54. - name: Enable IPv4 packet forwarding
  55. become: true
  56. ansible.builtin.lineinfile:
  57. path: /etc/sysctl.d/101-k8s.conf
  58. line: "net.ipv4.ip_forward = 1"
  59. create: true
  60. mode: "0644"
  61. - name: Setup kubernetes
  62. ansible.builtin.import_tasks: kubernetes.yml