---
- hosts: master
gather_facts: no
tasks:
- name: register hash
shell: "openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^ .* //'|cut -d' ' -f 2"
register: kubeadm_hash
when: inventory_hostname == groups['master']|first
- name: display hash
debug: msg="{{kubeadm_hash.stdout}}"
when: inventory_hostname == groups['master']|first
- name: register token
shell: kubeadm token list |grep forever|awk '{print $1}'
register: kubeadm_token
when: inventory_hostname == groups['master']|first
- name: display token
debug: msg="{{kubeadm_token.stdout}}"
when: inventory_hostname == groups['master']|first
- name: add master node
shell: "kubeadm join {{ groups['master'][0] }}:6443 --token {{kubeadm_token.stdout}} --discovery-token-ca-cert-hash sha256:{{kubeadm_hash.stdout}} --control-plane"
when: inventory_hostname != groups['master']|first
PLAY [master] ***************************************************************************************************************************************************************
TASK [register hash] ********************************************************************************************************************************************************
skipping: [47.108.234.26]
skipping: [47.108.213.148]
changed: [47.108.222.84]
TASK [display hash] *********************************************************************************************************************************************************
ok: [47.108.222.84] => {
"msg": "af040f8e06e320e264a79f62b677b3267f4b681d869408658bdd121fa568216c"
}
skipping: [47.108.213.148]
skipping: [47.108.234.26]
TASK [register token] *******************************************************************************************************************************************************
skipping: [47.108.234.26]
skipping: [47.108.213.148]
changed: [47.108.222.84]
TASK [display token] ********************************************************************************************************************************************************
ok: [47.108.222.84] => {
"msg": "otnb1h.cvagwwe7tgdvzbtx"
}
skipping: [47.108.234.26]
skipping: [47.108.213.148]
TASK [add master node] ******************************************************************************************************************************************************
skipping: [47.108.222.84]
fatal: [47.108.234.26]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'stdout'\n\nThe error appears to be in '/root/test.yml': line 23, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: add master node\n ^ here\n"}
fatal: [47.108.213.148]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'stdout'\n\nThe error appears to be in '/root/test.yml': line 23, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: add master node\n ^ here\n"}
PLAY RECAP ******************************************************************************************************************************************************************
47.108.213.148 : ok=0 changed=0 unreachable=0 failed=1 skipped=4 rescued=0 ignored=0
47.108.222.84 : ok=4 changed=2 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
47.108.234.26 : ok=0 changed=0 unreachable=0 failed=1 skipped=4 rescued=0 ignored=0