--- # Congifure docker for k8s. # https://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker - include_tasks: configure_docker.yml # Install kublet, kudeadm, and kubectl # https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl - include_tasks: debian_family.yml when: ansible_os_family == "Debian" - include_tasks: redhat_family.yml when: ansible_os_family == "RedHat" # Configure sysctl kernel modules # https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#letting-iptables-see-bridged-traffic - include_tasks: sysctl_and_kernel_modules.yml - name: Ensure kubelet is started and enabled at boot. service: name: kubelet state: started enabled: true become: true # Disable swap # https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#before-you-begin - include_tasks: disable_swap.yml # Pre-pull k8s status pods. - name: Check the docker images currently on machine. command: docker images # We do this as root because the docker admin will not be able to until we # reset the connection. We could just as well do a reset here. become: true register: docker_images changed_when: false - name: Pre-grab the container images for the static pods. command: kubeadm config images pull # We do this as root because the docker admin will not be able to until we # reset the connection. We could just as well do a reset here. become: true changed_when: true when: > ( kube_apiserver not in docker_images.stdout or kube_controller_manager not in docker_images.stdout or kube_scheduler not in docker_images.stdout or kube_proxy not in docker_images.stdout or etcd not in docker_images.stdout or coredns not in docker_images.stdout or pause not in docker_images.stdout ) # master - include_tasks: master.yml when: kubernetes_role == 'master' # calico # https://projectcalico.docs.tigera.io/getting-started/kubernetes/self-managed-onprem/onpremises # https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network - include_tasks: calico.yml when: kubernetes_role == 'master' # Join nodes to cluster. # https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#join-nodes - include_tasks: join_nodes.yml