summaryrefslogtreecommitdiff
path: root/roles/k8s
diff options
context:
space:
mode:
authorThedro Neely <thedroneely@gmail.com>2019-12-23 01:54:58 -0500
committerThedro Neely <thedroneely@gmail.com>2019-12-23 01:54:58 -0500
commitd68113943f9c6027bf12a2eb9d8fae207faf2ff8 (patch)
tree35a4d387bfd083ed36e674404c78fddd5f164154 /roles/k8s
parent40654887e0efde614701c281742c6c0d72c5d778 (diff)
downloadplaybooks-d68113943f9c6027bf12a2eb9d8fae207faf2ff8.tar.gz
playbooks-d68113943f9c6027bf12a2eb9d8fae207faf2ff8.tar.bz2
playbooks-d68113943f9c6027bf12a2eb9d8fae207faf2ff8.zip
roles/k8s/main.yml: Add dashboard steps
Diffstat (limited to 'roles/k8s')
-rw-r--r--roles/k8s/files/k8s-dashboard-admin.yaml1
-rw-r--r--roles/k8s/files/k8s-dashboard-binding.yaml1
-rw-r--r--roles/k8s/main.yml77
3 files changed, 73 insertions, 6 deletions
diff --git a/roles/k8s/files/k8s-dashboard-admin.yaml b/roles/k8s/files/k8s-dashboard-admin.yaml
index 639a776..54cabb7 100644
--- a/roles/k8s/files/k8s-dashboard-admin.yaml
+++ b/roles/k8s/files/k8s-dashboard-admin.yaml
@@ -3,4 +3,3 @@ kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
-
diff --git a/roles/k8s/files/k8s-dashboard-binding.yaml b/roles/k8s/files/k8s-dashboard-binding.yaml
index 399839f..6db3be5 100644
--- a/roles/k8s/files/k8s-dashboard-binding.yaml
+++ b/roles/k8s/files/k8s-dashboard-binding.yaml
@@ -1,3 +1,4 @@
+apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
diff --git a/roles/k8s/main.yml b/roles/k8s/main.yml
index 148df32..b6a1a06 100644
--- a/roles/k8s/main.yml
+++ b/roles/k8s/main.yml
@@ -29,6 +29,7 @@
- docker-ce-3:18.09.1-3.el7
- docker-ce-cli-1:18.09.1-3.el7
- containerd.io-1.2.0-3.el7
+ - sudo
- tc
- name: Creating docker directory
file:
@@ -76,7 +77,7 @@
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
+ - name: Installing kubelet and kubeadm on worker nodes
yum:
state: present
update_cache: yes
@@ -90,7 +91,7 @@
home_directory: "/home/{{ username }}"
k8s_version: 1.17.0
tasks:
- - name: Installing kubectl on master
+ - name: Installing kubectl on master node
yum:
state: present
name:
@@ -109,7 +110,73 @@
creates: .k8s_cluster_initialized
register: output
- debug: var=output
+ - name: Creating kube folder
+ file:
+ path: "{{ home_directory }}/.kube"
+ state: directory
+ owner: "{{ username }}"
+ group: "{{ username }}"
+ mode: '0755'
+ - name: Copying Kubernetes config file to home folder
+ copy:
+ src: /etc/kubernetes/admin.conf
+ dest: "{{ home_directory }}/.kube/config"
+ owner: "{{ username }}"
+ group: "{{ username }}"
+ mode: '0644'
+ remote_src: yes
+ - name: Copying Kubernetes dashboard user config
+ copy:
+ src: k8s-dashboard-admin.yaml
+ dest: "{{ home_directory }}/.kube"
+ owner: "{{ username }}"
+ group: "{{ username }}"
+ mode: '0644'
+ - name: Copying Kubernetes dashboard bind config
+ copy:
+ src: k8s-dashboard-binding.yaml
+ dest: "{{ home_directory }}/.kube"
+ owner: "{{ username }}"
+ group: "{{ username }}"
+ mode: '0644'
- block:
- - name: Cloning repository
- become: true
- become_user: "{{ username }}" \ No newline at end of file
+ - name: Bringing up pod network
+ shell: >
+ kubectl apply -f
+ "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" &&
+ touch .kube/.k8s_network_installed
+ args:
+ chdir: "{{ home_directory }}"
+ creates: .kube/.k8s_network_installed
+ - name: Installing Kubernetes Dashboard
+ shell: >
+ kubectl apply -f
+ https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml &&
+ touch .kube/.k8s_dashboard_installed
+ args:
+ chdir: "{{ home_directory }}"
+ creates: .kube/.k8s_dashboard_installed
+ - name: Creating Kubernetes Dashboard administrator
+ shell: >
+ kubectl apply -f
+ .kube/k8s-dashboard-admin.yaml &&
+ touch .kube/.k8s_dashboard_admin_installed
+ args:
+ chdir: "{{ home_directory }}"
+ creates: .kube/.k8s_dashboard_admin_installed
+ - name: Creating Kubernetes Dashboard cluster binding
+ shell: >
+ kubectl apply -f
+ .kube/k8s-dashboard-binding.yaml &&
+ touch .kube/.k8s_dashboard_binding_installed
+ args:
+ chdir: "{{ home_directory }}"
+ creates: .kube/.k8s_dashboard_binding_installed
+ - name: Printing Kubernetes Dashboard token
+ shell: >
+ kubectl -n kubernetes-dashboard describe secret
+ $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
+ register: token
+ - debug: var=token
+ become: true
+ become_user: "{{ username }}" \ No newline at end of file