diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 013904b..4ef7e2d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,5 +46,9 @@ ansible-k3s-dev: extends: .ansible-k3s variables: CLUSTER: "dev-cluster" + api_endpoint: "192.168.10.10" + k3s_version: "v1.35.0+k3s3" + ENVIRONMENT_NAME: "dev" + k3s_token: $dev_k3s_token rules: - if: '$SCRIPT == "k3s-dev"' diff --git a/ansible/k3s.yaml b/ansible/k3s.yaml index 42daff1..fc27a3e 100644 --- a/ansible/k3s.yaml +++ b/ansible/k3s.yaml @@ -34,38 +34,32 @@ Expected derived groups '{{ master_group }}' and '{{ node_group }}' to exist in inventory for cluster '{{ cluster }}'. -- name: Install k3s on master nodes (derived from cluster) +- name: Install prerequisites on all nodes + hosts: "{{ cluster }}" + gather_facts: yes + become: yes + roles: + - base + - k3s/prereq + - k3s/download + +- name: Install k3s on master nodes hosts: "{{ (cluster | regex_replace('-cluster$', '')) ~ '-master' }}" gather_facts: yes become: yes roles: - - base + - k3s/master -- name: Install k3s on worker nodes (derived from cluster) +- name: Install k3s on worker nodes hosts: "{{ (cluster | regex_replace('-cluster$', '')) ~ '-node' }}" gather_facts: yes become: yes roles: - - base + - k3s/node -#- hosts: dev-cluster -# gather_facts: yes -# become: yes -# roles: -# - k3s/prereq -# - k3s/download -# -#- hosts: master -# become: yes -# roles: -# - k3s/master -# -#- hosts: node -# become: yes -# roles: -# - k3s/node -# -#- hosts: master -# become: yes -# roles: -# - post \ No newline at end of file +- name: Post Install for k3s + hosts: "{{ (cluster | regex_replace('-cluster$', '')) ~ '-master' }}" + gather_facts: yes + become: yes + roles: + - k3s/post \ No newline at end of file diff --git a/ansible/roles/k3s/post/tasks/main.yml b/ansible/roles/k3s/post/tasks/main.yml new file mode 100644 index 0000000..8ab5a0d --- /dev/null +++ b/ansible/roles/k3s/post/tasks/main.yml @@ -0,0 +1,6 @@ +- name: ansible copy file from remote to local. + fetch: + src: /home/administrator/.kube/config + dest: "/drop/config-{{ lookup('env','ENVIRONMENT_NAME') }}" + flat: yes + when: ansible_hostname == hostvars[groups['master'][0]]['ansible_hostname']