Files
Deploy-Laboratory/ansible/playbooks/verify/03-01.yml
2026-03-27 16:58:41 +08:00

74 lines
2.2 KiB
YAML

---
- name: Deploy 03-01 Traefik Dashboard (HelmChartConfig + IngressRoute)
hosts: k3s_server
become: true
run_once: true
vars:
k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml
manifest_src: "{{ playbook_dir }}/../../files/03-01/traefik-dashboard.yaml"
manifest_dest: /tmp/traefik-dashboard.yaml
tasks:
- name: Copy manifest
ansible.builtin.copy:
src: "{{ manifest_src }}"
dest: "{{ manifest_dest }}"
mode: "0644"
- name: Apply manifest
ansible.builtin.shell: |
set -e
KUBECONFIG={{ k3s_kubeconfig }} kubectl apply -f {{ manifest_dest }}
args:
executable: /bin/bash
changed_when: true
- name: Verify 03-01 Traefik Dashboard (resource existence + rollout)
hosts: k3s_server
become: true
run_once: true
vars:
k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml
tasks:
- name: Rollout status traefik (kube-system)
ansible.builtin.shell: |
set -e
KUBECONFIG={{ k3s_kubeconfig }} kubectl rollout status deployment/traefik -n kube-system --timeout=240s
args:
executable: /bin/bash
changed_when: false
- name: Assert HelmChartConfig exists
ansible.builtin.shell: |
set -e
KUBECONFIG={{ k3s_kubeconfig }} kubectl -n kube-system get helmchartconfig traefik
args:
executable: /bin/bash
changed_when: false
- name: Assert IngressRoute traefik-dashboard exists
ansible.builtin.shell: |
set -e
KUBECONFIG={{ k3s_kubeconfig }} kubectl -n kube-system get ingressroute traefik-dashboard
args:
executable: /bin/bash
changed_when: false
- name: Teardown 03-01 Traefik Dashboard (optional)
hosts: k3s_server
become: true
run_once: true
vars:
k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml
verify_teardown: "{{ (VERIFY_TEARDOWN | default('1')) | string }}"
manifest_dest: /tmp/traefik-dashboard.yaml
tasks:
- name: Delete resources when VERIFY_TEARDOWN=1
when: verify_teardown == "1"
ansible.builtin.shell: |
set -e
KUBECONFIG={{ k3s_kubeconfig }} kubectl delete -f {{ manifest_dest }} --ignore-not-found=true
args:
executable: /bin/bash
changed_when: true