# 00-04-部署环境说明 > 本文描述本仓库文档所针对的**验证环境**:节点布局、IP、OS、K3s 版本等。其他环境按需对照调整。 ## 1. 节点与角色 | 主机名 | IP | 角色 | 说明 | | ----- | ------------ | ---------- | -------------------------- | | ylc61 | 192.168.2.61 | k3s server | 控制节点,运行 API、etcd、Traefik 等 | | ylc62 | 192.168.2.62 | k3s worker | 工作节点 | | ylc63 | 192.168.2.63 | k3s worker | 工作节点 | | ylc64 | 192.168.2.64 | k3s worker | 工作节点 | - Kubernetes 中的节点名使用短主机名(如 `ylc61`~`ylc64`),与 inventory 中主机名一致,便于配合 Cloudflare CDN(若计算机 hostname 为 FQDN,本机解析会优先走本地导致无法访问)。 - 控制机(运行 `ansible-playbook`)可任选一台,通常为 ylc61 或本机。 ## 2. 软件版本(已验证) | 组件 | 版本 | 备注 | | ------- | ----------------- | --------------------------- | | OS | Fedora 43 Server (CoreOS) | 其他 RHEL 系 / Debian 系按文档说明适配 | | K3s | v1.34.5+k3s1 | 来自 get.k3s.io 默认 | | Ansible | ansible-core 2.18 | 用于 `01-06` 自动化安装 | ## 3. 网络与存储 - **网段**:192.168.2.0/24 - **可选**:OpenWrt 网关(如 192.168.2.1)上配置 HAProxy 负载均衡,将 80/443 转发到 K3s 节点,见 `01-07-openwrt-haproxy.md` - **数据盘方案**:`/storage`,server 与 worker 均使用 `--data-dir=/storage` - **token 路径**:`/storage/server/token` ## 4. 防火墙 - **firewalld**:启用 - **已放行端口**: - 6443/tcp(k3s API,仅 server) - 8472/udp(flannel VXLAN,全部节点) - flannel.1、cni0 加入 trusted zone ## 5. Ansible 相关 - **inventory**:`ansible/inventory.ini`,分组 `k3s_server`、`k3s_worker`、`k3s_nodes` - **变量**:`ansible/group_vars/all.yml`,含 `k3s_data_dir`、`k3s_server_ip`、`k3s_manage_`* 等 - **playbook(k3s)**:`ansible/playbooks/k3s-init-and-install.yml` - **playbook(nginx 矩阵)**:`ansible/playbooks/nginx-matrix-deploy.yml`(manifests 在 `ansible/files/nginx-matrix/`,文档 `02-05`) - **playbook(nginx TLS 矩阵)**:`ansible/playbooks/nginx-matrix-tls-deploy.yml`(manifests 在 `ansible/files/nginx-matrix-tls/`,文档 `03-02`(02-05 升级版)) - **SSH**:root 连接,`scripts/ssh/setup-k3s-workers-ssh.sh` 预配密钥 ## 6. 验证时间 - 2026-03:4 节点集群按 `01-06` 一次性安装成功,各节点 Traefik 入口 404 可达。