--- - name: "iptables konfigurieren" lineinfile: path: "/etc/sysctl.conf" line: "net.bridge.bridge-nf-call-iptables = 1" create: yes - name: "Alles installieren" script: install.sh register: out_install - name: "Testen, ob sich Master bereits in einem Cluster befindet" shell: "(ifconfig | grep $(kubectl get nodes -l node-role.kubernetes.io/master=\"\" -o 'jsonpath={.items[*].status.addresses[?(@.type==\"InternalIP\")].address}')) &>/dev/null" register: out_thetest_master changed_when: false failed_when: false when: master - name: "IP von eth0 auslesen" shell: "(printf $(ifconfig eth0 | grep \"inet \" | awk '{ print $2 }') )2>/dev/null || printf hi" register: out_node_ip changed_when: false - name: "Testen, ob Node bereits in dem Cluster existiert" set_fact: doreset: "{{ (master and out_thetest_master.rc != 0) or (not master and (out_node_ip.stdout_lines[0] not in hostvars['host_for_vars'].kubeips)) }}" - name: "Altes Kubernetes stoppen" script: down.sh register: out_down when: doreset - name: "Debug - Output" debug: var=out_down.stdout_lines when: doreset - name: "Kubernetes Cluster auf Master erstellen" script: "up.sh {{ nodename }}" register: out_up when: master and doreset - name: "Debug - Output" debug: var=out_up.stdout_lines when: master and doreset - name: "Wenn master, node ips auflisten" shell: "kubectl get nodes -o 'jsonpath={.items[*].status.addresses[?(@.type==\"InternalIP\")].address}' | xargs -n1 echo" register: out_kubeips changed_when: false when: master - name: "Wenn Master dann Joinbefehl erstellen" shell: "kubeadm token create --print-join-command -v=0 2> /dev/null" register: out_joincommand when: master - name: "Variable sichern" add_host: name: "host_for_vars" joincommand: "{{ out_joincommand.stdout_lines[0] }}" kubeips: "{{ out_kubeips.stdout_lines }}" when: master - name: "Debug - Joinbefehl" debug: "var=hostvars['host_for_vars'].joincommand" when: master - name: "Debug - ips" debug: "var=hostvars['host_for_vars'].kubeips" when: master - name: "Wenn Node dann Joinbefehl ausführen" shell: "{{ hostvars['host_for_vars'].joincommand }} --node-name={{ nodename }}" register: out_join when: doreset and not master - name: "Debug - Output" debug: var=out_join.stdout_lines when: doreset and not master