Files
Deploy-Laboratory/ansible/playbooks/verify/02-05.yml
jack 8c43761962 feat: 按 doc_id 重组 ansible/files 与验证框架
- ansible/files 改为与文档 XX-YY 对齐的目录结构,更新相关 playbook 路径
- 新增 scripts/verify.sh 与 ansible/playbooks/verify/*.yml,移除单体 verify-matrix.yml
- 补充 docs/00-02 矩阵状态、00-05 验证框架与流程、00-04 环境与 ylc65 工作机说明
- 增加 k3s 存储准备、Longhorn、local-path 等 playbook 与辅助脚本

Made-with: Cursor
2026-03-26 07:01:14 +08:00

66 lines
2.4 KiB
YAML

- import_playbook: "{{ playbook_dir }}/../nginx-matrix-deploy.yml"
- name: Verify 02-05 nginx matrix (HTTP paths)
hosts: k3s_server
become: true
run_once: true
vars:
k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml
verify_entry_base: "{{ nginx_entry_base | default('http://' ~ k3s_server_ip) }}"
tasks:
- name: Verify M1~M4 deployments ready
ansible.builtin.shell: |
set -e
KUBECONFIG={{ k3s_kubeconfig }} kubectl rollout status deployment/nginx-m1 -n default --timeout=120s
KUBECONFIG={{ k3s_kubeconfig }} kubectl rollout status deployment/nginx-m2 -n default --timeout=120s
KUBECONFIG={{ k3s_kubeconfig }} kubectl rollout status deployment/nginx-m3 -n default --timeout=180s
KUBECONFIG={{ k3s_kubeconfig }} kubectl rollout status deployment/nginx-m4 -n default --timeout=180s
args:
executable: /bin/bash
changed_when: false
- name: HTTP check 4 paths (expect 200 and X-Backend marker)
ansible.builtin.shell: |
set +e
base="{{ verify_entry_base | trim | regex_replace('/+$','') }}"
fail=0
for id in 1 2 3 4; do
url="$base/demo-m$id/"
code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 3 --max-time 8 "$url" 2>/dev/null || echo "000")
echo "$url -> $code"
if [ "$code" != "200" ]; then
echo "$url -> unexpected http_code=$code"
fail=1
continue
fi
backend=$(curl -sS -D - -o /dev/null --connect-timeout 3 --max-time 8 "$url" 2>/dev/null \
| awk -F': ' '/^X-Backend:/{print $2; exit}' \
| tr -d '\r' || true)
echo "$url -> X-Backend: ${backend:-<empty>}"
if [ "$backend" != "M$id" ]; then
fail=1
fi
done
exit $fail
args:
executable: /bin/bash
changed_when: false
- name: Teardown 02-05 nginx matrix (optional)
hosts: k3s_server
become: true
run_once: true
vars:
k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml
verify_teardown: "{{ (VERIFY_TEARDOWN | default('1')) | string }}"
tasks:
- name: Delete nginx matrix resources when VERIFY_TEARDOWN=1
when: verify_teardown == "1"
ansible.builtin.shell: |
set -e
KUBECONFIG={{ k3s_kubeconfig }} kubectl delete -f /tmp/nginx-matrix/ -R --ignore-not-found=true
args:
executable: /bin/bash
changed_when: true