--- # Target: centos8 - hosts: k8s vars: username: k8s home_directory: "/home/{{ username }}" k8s_version: 1.17.0 tasks: - name: Ensuring group exists group: name: "{{ username }}" state: present - name: Creating user and making home directory user: system: yes state: present name: "{{ username }}" groups: "{{ username }}" home: "{{ home_directory }}" - name: Adding Docker repository get_url: url: https://download.docker.com/linux/centos/docker-ce.repo dest: /etc/yum.repos.d/ - name: Installing Docker yum: state: present update_cache: yes name: - docker-ce-3:18.09.1-3.el7 - docker-ce-cli-1:18.09.1-3.el7 - containerd.io-1.2.0-3.el7 - tc - name: Creating docker directory file: path: /etc/docker state: directory mode: '0755' - name: Copying Docker daemon configuration copy: src: daemon.json dest: /etc/docker/daemon.json owner: root group: root mode: '0644' register: dockerDaemonConfig - name: Creating containerd override directory file: path: /etc/systemd/system/containerd.service.d/ state: directory mode: '0755' - name: Copying containerd override configuration copy: src: containerd-override.conf dest: /etc/systemd/system/containerd.service.d/override.conf owner: root group: root mode: '0644' - name: Reloading systemd daemon systemd: daemon_reload: yes - name: Ensuring Docker is enabled and started systemd: name: docker state: started enabled: yes - name: Restarting Docker due to daemon config change systemd: name: docker state: restarted when: dockerDaemonConfig.changed - name: Adding Kubernetes repository yum_repository: name: kubernetes file: kubernetes description: Kubernetes Repo baseurl: https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 gpgkey: https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg gpgcheck: yes - name: Installing kubelet and kubeadm on nodes yum: state: present update_cache: yes name: - kubelet-{{ k8s_version }}-0 - kubeadm-{{ k8s_version }}-0 - hosts: k8s_master vars: username: k8s home_directory: "/home/{{ username }}" k8s_version: 1.17.0 tasks: - name: Installing kubectl on master yum: state: present name: - kubectl-{{ k8s_version }}-0 - name: Copying kubelet environment file copy: src: kubelet dest: /etc/sysconfig/kubelet mode: '0644' - name: Initialize Kubernetes cluster shell: > kubeadm init --ignore-preflight-errors all --v=5 > k8s_cluster_initialization.log && touch .k8s_cluster_initialized args: chdir: "{{ home_directory }}" creates: .k8s_cluster_initialized register: output - debug: var=output - block: - name: Cloning repository become: true become_user: "{{ username }}"