From d68113943f9c6027bf12a2eb9d8fae207faf2ff8 Mon Sep 17 00:00:00 2001 From: Thedro Neely Date: Mon, 23 Dec 2019 01:54:58 -0500 Subject: roles/k8s/main.yml: Add dashboard steps --- roles/k8s/files/k8s-dashboard-admin.yaml | 1 - roles/k8s/files/k8s-dashboard-binding.yaml | 1 + roles/k8s/main.yml | 77 ++++++++++++++++++++++++++++-- 3 files changed, 73 insertions(+), 6 deletions(-) (limited to 'roles/k8s') 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 -- cgit v1.2.3