From bfe46ddb0c844aad176bdfa2272c010ac7097556 Mon Sep 17 00:00:00 2001 From: Adrien Date: Tue, 16 Jul 2019 09:13:31 +0200 Subject: [PATCH] Work on add server to cluster --- tasks/install_server.yml | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/tasks/install_server.yml b/tasks/install_server.yml index 2fc8d8a..69e5aea 100644 --- a/tasks/install_server.yml +++ b/tasks/install_server.yml @@ -67,7 +67,7 @@ shell: kubeadm version | sed -e 's/.* Minor:"\([0-9]*\)".*/\1/' register: kubeadm_version_minor -- name: Deploy kubeadm config +- name: Deploy initial kubeadm config template: src: kubeadmin-config.yaml.j2 dest: /root/kubeadmin-config.yaml @@ -94,10 +94,41 @@ - groups['KubernetesMasterConfigured'] is not defined - groups['KubernetesMasters'][0] == ansible_hostname -- name: Extend Master services on unconfigured hosts - include_tasks: "add_master.yml" +- name: Test if server node already included + command: kubectl get nodes {{ ansible_hostname | lower }} + delegate_to: "{{ groups['KubernetesMasterConfigured'][0] }}" + register: server_enrolled + changed_when: False + ignore_errors: yes + +- name: Deploy kubeadm config + template: + src: kubeadmin-config.yaml.j2 + dest: /root/kubeadmin-config.yaml + owner: root + group: root + mode: 600 when: - - groups['KubernetesMaster'] | length > 1 + - not groups['KubernetesMasters'][0] == ansible_hostname + - kubeadm_version_major.rc == 1 + - kubeadm_version_minor.rc > 15 + - server_enrolled.rc == 1 + +# Retreive token and hash to join from master + +- name: Join '{{ ansible_hostname }}' to Kubernetes cluster + command: kubeadm init --config=kubeadm-config.yaml + when: + - groups['KubernetesMasterConfigured'] is not defined + - groups['KubernetesMasters'][0] == ansible_hostname + - kubeadm_version_major.rc == 1 + - kubeadm_version_minor.rc > 15 + - server_enrolled.rc == 1 + +#- name: Extend Master services on unconfigured hosts +# include_tasks: "add_master.yml" +# when: +# - groups['KubernetesMaster'] | length > 1 - name: Check if a node is still tainted command: kubectl get nodes '{{ ansible_host }}' -o jsonpath='{.spec.taints}'