--- - name: Update apt apt: update_cache=yes become: true - name: Install programs to add debian repositories apt: name={{ item }} state=present force=yes with_items: - curl - apt-transport-https become: true - name: Add kubernetes key apt_key: url: https://packages.cloud.google.com/apt/doc/apt-key.gpg state: present become: true - name: Add kubernetes repo apt_repository: repo: deb https://apt.kubernetes.io/ kubernetes-xenial main state: present become: true - name: Add docker key apt_key: url: https://download.docker.com/linux/ubuntu/gpg state: present become: true - name: Add docker repo apt_repository: repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable state: present become: true - name: Update apt apt: update_cache=yes become: true - name: Install kubelet kubeadm and kubectl apt: name={{ item }} state=present force=yes with_items: - kubelet - kubeadm - kubectl become: true - name: Install docker-ce shell: > apt-get install -y -qq docker-ce=$(apt-cache madison docker-ce | grep "{{ docker_ce_version_to_install }}" | awk {'print $3'}) become: true - name: apt-mark hold kubelet kubeadm and kubectl command: apt-mark hold {{ item }} with_items: - kubelet - kubeadm - kubectl become: true - name: Set bridge-nf-call-iptables sysctl: name: net.bridge.bridge-nf-call-iptables value: 1 state: present sysctl_set: yes reload: yes become: true when: kube_network == "flannel" or kube_network == "weavenet"