41 lines
1.2 KiB
YAML
41 lines
1.2 KiB
YAML
---
|
|
- name: Distribute kubeconfig to k3s server nodes
|
|
hosts: k3s
|
|
become: true
|
|
|
|
tasks:
|
|
- name: Create .kube directory
|
|
ansible.builtin.file:
|
|
path: "~{{ ansible_user }}/.kube"
|
|
state: directory
|
|
mode: '0755'
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ ansible_user }}"
|
|
|
|
- name: Copy kubeconfig from local machine to remote host
|
|
ansible.builtin.copy:
|
|
src: "~/.kube/config"
|
|
dest: "~{{ ansible_user }}/.kube/config"
|
|
mode: '0600'
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ ansible_user }}"
|
|
|
|
- name: Set KUBECONFIG in ansible_user profile
|
|
ansible.builtin.lineinfile:
|
|
path: "~{{ ansible_user }}/.profile"
|
|
line: "export KUBECONFIG=~{{ ansible_user }}/.kube/config"
|
|
regexp: "^export KUBECONFIG=.*"
|
|
create: true
|
|
mode: '0644'
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ ansible_user }}"
|
|
|
|
- name: Verify kubectl works on remote host
|
|
ansible.builtin.command: k3s kubectl get nodes
|
|
register: nodes_result
|
|
changed_when: false
|
|
|
|
- name: Display cluster nodes
|
|
ansible.builtin.debug:
|
|
msg: "{{ nodes_result.stdout_lines }}"
|