2 - name: "Ensure the .ssh directory exists"
4 path: "{{ ansible_env.HOME }}/.ssh"
8 - name: Add kubernetes nodes host keys to known_hosts file
10 name: "{{ hostvars[item].cluster_ip }}"
11 key: "{{ hostvars[item].cluster_ip }} ssh-rsa {{ hostvars[item].ansible_ssh_host_key_rsa_public }}"
14 loop: "{{ groups['kubernetes'] }}"
16 - name: "Ensure {{ cluster_config_dir }} is present"
18 path: "{{ cluster_config_dir }}"
22 - name: Generate cluster wide ssh key pair
23 command: "ssh-keygen -q -b 4096 -t rsa -N '' -f {{ cluster_config_dir }}/cluster_key"
25 creates: "{{ cluster_config_dir }}/cluster_key"
27 - name: Get ssh public key
29 src: "{{ cluster_config_dir }}/cluster_key.pub"
30 register: cluster_public_key_out
32 - name: Decode ssh public key
34 cluster_public_key: "{{ cluster_public_key_out.content | b64decode }}"
36 - name: Prepare rke cluster.yml
39 dest: "{{ cluster_config_dir }}/cluster.yml"
42 - name: Prepare rke addon manifest (dashboard)
44 src: kubernetes-dashboard.yaml.j2
45 dest: "{{ cluster_config_dir }}/kubernetes-dashboard.yml"
47 - name: Prepare rke addon manifest (dashboard user)
49 src: k8s-dashboard-user.yml.j2
50 dest: "{{ cluster_config_dir }}/k8s-dashboard-user.yml"
52 - name: Install rke cli tool
54 src: "{{ app_data_path }}/downloads/{{ rke_binary }}"
55 dest: "{{ rke_bin_dir }}/rke"