summaryrefslogtreecommitdiff
path: root/roles/k8s/main.yml
diff options
context:
space:
mode:
authorThedro Neely <thedroneely@gmail.com>2019-12-22 21:25:30 -0500
committerThedro Neely <thedroneely@gmail.com>2019-12-22 21:25:30 -0500
commit40654887e0efde614701c281742c6c0d72c5d778 (patch)
tree2330ff6ea553c6ae5d32b1609238195ce448a13e /roles/k8s/main.yml
parent2bb2c78242001dd3139b965845e9004ada3b9e3c (diff)
downloadplaybooks-40654887e0efde614701c281742c6c0d72c5d778.tar.gz
playbooks-40654887e0efde614701c281742c6c0d72c5d778.tar.bz2
playbooks-40654887e0efde614701c281742c6c0d72c5d778.zip
roles/k8s: Add kubernetes cluster playbook
Diffstat (limited to 'roles/k8s/main.yml')
-rw-r--r--roles/k8s/main.yml115
1 files changed, 115 insertions, 0 deletions
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