Files
Deploy-Laboratory/docs/00-04-部署环境说明.md
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

83 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 | 工作节点 |
| ylc65 | 192.168.2.65 | Linux 工作机(非 K3s | **不参与** `kubectl get nodes`;提供日常 **Linux/x86_64** 环境,用于克隆本仓库、跑 `ansible-playbook` / `scripts/verify.sh`、编辑与排障;通过 SSH 连 ylc61ylc64 执行自动化,磁盘与 **§3.1 K3s 节点约定无关**(按本机实际即可) |
| openwrt | 192.168.2.1 | OpenWrt 主路由 | 局域网网关;可选 HAProxy 将 80/443 转发至 K3s`01-07` |
| onecloud | 192.168.2.22 | ARM32Armbian | 非 K3s 集群节点armv7 / NFS 等文档的实验或外部 curl 来源 |
- Kubernetes 中的节点名使用短主机名(**仅** `ylc61``ylc64` 四类 K3s 机器),与 inventory 中 `[k3s_server]` / `[k3s_worker]` 一致;`ylc65` **不是**集群成员。便于配合 Cloudflare CDN若计算机 hostname 为 FQDN本机解析会优先走本地导致无法访问
- **控制机**(运行 `ansible-playbook``verify.sh`):推荐 **`ylc65`Linux 工作机)** 或 ylc61亦可在你的本机 Linux 上执行,只要装好 Ansible、能 SSH 到 inventory 中的节点。
## 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 主路由(上表 `openwrt`192.168.2.1)上配置 HAProxy 负载均衡,将 80/443 转发到 K3s 节点,见 `01-07-openwrt-haproxy.md`
### 3.1 磁盘规划(四台 K3s 节点统一10G + 32G
本仓库验证环境约定:**每台 K3s 节点**`ylc61``ylc64`,即 1 server + 3 worker各用一块约 **10G 系统盘**(根文件系统)+ 一块约 **32G 数据盘**,与 Longhorn、K3s `--data-dir` 实验相匹配。**`ylc65` 为工作机,不适用本节 `/storage` 与 K3s 数据盘约定。**
- **`/storage` 必须是独立挂载点**(数据盘格式化后挂载),**不能**只是根分区上的普通目录否则镜像、local-path、Longhorn 仍会写满系统盘,控制节点易出现 **DiskPressure**
- **K3s**server 与 worker 均使用 `--data-dir=/storage`(见 `ansible/group_vars/all.yml`)。
- **token 路径**`/storage/server/token`
**自检(每台执行)**
```bash
findmnt -n -o SOURCE / /storage
lsblk -f
```
两行 `SOURCE` 应指向**不同**块设备(或不同 LV`/storage` 未单独挂载,请先完成分区、格式化、`/etc/fstab` 再装 K3s`01-06`)。
### 3.2 推荐自动化顺序
1. (可选)`ansible/playbooks/k3s-prepare-storage.yml`:声明 `k3s_data_disk_device` 并启用 `k3s_prepare_storage` 时,幂等准备 `/storage`
2. `ansible/playbooks/k3s-init-and-install.yml`:安装 K3s可开启 `k3s_verify_storage_mount` 校验挂载)。
3. (可选)`ansible/playbooks/longhorn-install.yml`Helm 安装 Longhorn`ansible/files/03-07-longhorn/values-lab.yaml`)。
4. (可选)按 `03-05` 应用本仓库 **local-path** ConfigMap 真源(`ansible/files/03-05-local-path-config/local-path-config-lab.json`)。
## 4. 防火墙
- **firewalld**:启用
- **已放行端口**
- 6443/tcpk3s API仅 server
- 8472/udpflannel VXLAN全部节点
- flannel.1、cni0 加入 trusted zone
## 5. Ansible 相关
- **inventory**`ansible/inventory.ini`,分组 `k3s_server``k3s_worker``k3s_nodes`**勿**将 `ylc65` 列入 K3s 分组;工作机只作为 Ansible 控制端)
- **变量**`ansible/group_vars/all.yml`,含 `k3s_data_dir``k3s_server_ip``k3s_manage_`* 等
- **playbookk3s**`ansible/playbooks/k3s-init-and-install.yml`
- **playbook数据盘可选**`ansible/playbooks/k3s-prepare-storage.yml`
- **playbookLonghorn可选**`ansible/playbooks/longhorn-install.yml`Helm + `ansible/files/03-07-longhorn/values-lab.yaml`,文档 `03-07`
- **playbooknginx 矩阵)**`ansible/playbooks/nginx-matrix-deploy.yml`manifests 在 `ansible/files/02-05-nginx-matrix/`,文档 `02-05`
- **playbooknginx TLS 矩阵)**`ansible/playbooks/nginx-matrix-tls-deploy.yml`manifests 在 `ansible/files/03-02-nginx-matrix-tls/`,文档 `03-02`02-05 升级版))
- **SSH**root 连接,`scripts/ssh/setup-k3s-workers-ssh.sh` 预配密钥
## 6. 验证时间
- 2026-03**4 节点**1 server + 3 worker集群按 `01-06` 一次性安装成功,各节点 Traefik 入口 404 可达。自动化与验证常在 **`ylc65` Linux 工作机**上执行,该主机不参与 K3s。