From 40654887e0efde614701c281742c6c0d72c5d778 Mon Sep 17 00:00:00 2001 From: Thedro Neely Date: Sun, 22 Dec 2019 21:25:30 -0500 Subject: roles/k8s: Add kubernetes cluster playbook --- roles/k8s/main.yml | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 roles/k8s/main.yml (limited to 'roles/k8s/main.yml') diff --git a/roles/k8s/main.yml b/roles/k8s/main.yml new file mode 100644 index 0000000..148df32 --- /dev/null +++ b/roles/k8s/main.yml @@ -0,0 +1,115 @@ +--- +# 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 }}" \ No newline at end of file -- cgit v1.2.3