--- # 02-02-nginx-control-ingressroute.md # nginx M2:控制节点 + IngressRoute,路径 /demo-m2 - name: Deploy 02-02 nginx control + IngressRoute (M2) hosts: k3s_server become: true run_once: true vars: k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml manifest_src: "{{ playbook_dir }}/../../files/02-02/02-control-ingressroute.yaml" manifest_dest: /tmp/nginx-m2.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 02-02 nginx control + IngressRoute (M2) hosts: k3s_server become: true run_once: true vars: k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml tasks: - name: Rollout status nginx-m2 ansible.builtin.include_role: name: verify_common tasks_from: kubectl-rollout-status.yml vars: verify_rollout_ref: deployment/nginx-m2 - name: HTTP check /demo-m2 (in-cluster via Service ClusterIP) ansible.builtin.include_role: name: verify_common tasks_from: http-curl-traefik-incluster.yml vars: verify_traefik_kubeconfig: "{{ k3s_kubeconfig }}" verify_incluster_http_url: "http://nginx-m2.default.svc.cluster.local/" verify_traefik_assertion: nginx_matrix_m2_entry_http verify_traefik_header_name: X-Backend verify_traefik_header_value: M2 - name: Teardown 02-02 nginx control + IngressRoute (M2) 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/nginx-m2.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