- 新增 deploy-lab.sh(k3s/longhorn/nginx 铺栈)与 ssh/run-phase2-k3s-on-ylc61-as-jack.sh - verify.sh:flow/preflight、VERIFY_TEARDOWN 默认、注释与 §2 对应 - 更新 smoke-verify、README、.env.verify.example、根 README 与主要 playbook 头注释 - k3s-delete-lab-stacks 标明重度清场语义 Made-with: Cursor
49 lines
1.8 KiB
YAML
49 lines
1.8 KiB
YAML
---
|
||
# 部署:docs/00-05 §2 步骤 3——应用单文件 demo;整链验收优先 scripts/verify.sh run 04-01。
|
||
# 一键应用 Node.js demo 清单(与 docs/04-01~04-13 + ansible/files/04-01-nodejs-demo 对齐)
|
||
#
|
||
# 执行(在仓库根目录):
|
||
# ansible-playbook -i ansible/inventory.ini ansible/playbooks/nodejs-demo-apply.yml \
|
||
# -e nodejs_demo_manifest=04-01-nodejs-demo.yaml
|
||
#
|
||
# 默认清单:04-01-nodejs-demo.yaml
|
||
- name: Apply nodejs-demo Kubernetes manifests
|
||
hosts: k3s_server
|
||
become: true
|
||
run_once: true
|
||
vars:
|
||
k3s_kubeconfig: /etc/rancher/k3s/k3s.yaml
|
||
nodejs_demo_manifest: "04-01-nodejs-demo.yaml"
|
||
manifests_dir: "{{ playbook_dir }}/../files/04-01-nodejs-demo"
|
||
tasks:
|
||
- name: Ensure manifest file exists
|
||
ansible.builtin.stat:
|
||
path: "{{ manifests_dir }}/{{ nodejs_demo_manifest }}"
|
||
register: nodejs_manifest_stat
|
||
delegate_to: localhost
|
||
become: false
|
||
|
||
- name: Fail if manifest not found
|
||
ansible.builtin.fail:
|
||
msg: "未找到 {{ manifests_dir }}/{{ nodejs_demo_manifest }},请从仓库根检查文件名"
|
||
when: not nodejs_manifest_stat.stat.exists
|
||
delegate_to: localhost
|
||
become: false
|
||
|
||
- name: Copy manifest to control plane
|
||
ansible.builtin.copy:
|
||
src: "{{ manifests_dir }}/{{ nodejs_demo_manifest }}"
|
||
dest: "/tmp/{{ nodejs_demo_manifest }}"
|
||
mode: "0644"
|
||
|
||
- name: kubectl apply nodejs-demo manifest
|
||
ansible.builtin.shell: |
|
||
set -e
|
||
KUBECONFIG={{ k3s_kubeconfig }} kubectl apply -f /tmp/{{ nodejs_demo_manifest }}
|
||
register: nodejs_apply
|
||
changed_when: "'configured' in nodejs_apply.stdout or 'created' in nodejs_apply.stdout"
|
||
|
||
- name: Show kubectl apply output
|
||
ansible.builtin.debug:
|
||
var: nodejs_apply.stdout_lines
|