- name: Install prerequisits apt: name: "{{ item }}" update_cache: true loop: - apt-transport-https - ca-certificates - curl - name: Enable modules community.general.modprobe: name: "{{ item }}" state: present loop: - overlay - br_netfilter - name: Enable modules persistantly lineinfile: path: /etc/modules line: "{{ item }}" state: present insertafter: EOF loop: - overlay - br_netfilter - name: Set br_netfilter sysctl parameters ansible.posix.sysctl: name: "{{ item }}" state: present value: '1' sysctl_set: true sysctl_file: /etc/sysctl.d/99-kubernetes-cri.conf loop: - net.bridge.bridge-nf-call-iptables - net.ipv4.ip_forward - net.bridge.bridge-nf-call-ip6tables - name: Install kubernetes repo key apt_key: url: https://packages.cloud.google.com/apt/doc/apt-key.gpg state: present - name: Install kubernetes repo apt_repository: repo: "deb https://apt.kubernetes.io/ kubernetes-xenial main" state: present filename: kubernetes - name: Install kubeadm apt: name: "{{ item }}" allow_downgrade: true state: present loop: - "kubectl=1.22.1-00" - "kubelet=1.22.1-00" - "kubeadm=1.22.1-00" - name: Hold kubeadm dpkg_selections: name: "{{ item }}" selection: hold loop: - kubeadm - kubelet - kubectl