日常更新

This commit is contained in:
2026-03-29 09:08:01 +08:00
parent 31709425e2
commit befdefd222
224 changed files with 7240 additions and 3297 deletions

View File

@@ -2,44 +2,81 @@
> armv7 节点不加入 K3s单独运行 Docker 服务NFS、OneNav、openlist 等)。
## 契约与真源
- **索引**`ansible/files/01-03/README.md`(本篇无通用 K8s 清单Docker 步骤以正文为准)。
- **远程一键(先验后装)**`ansible/tools/armv7-docker-verify-install.sh`(由 `verify/01-03.yml``SKIP_ARMV7=0` 时调用)。
- **自动**`./ansible/bin/verify.sh run 01-03`
## TL;DR
- **自动化验收**`./scripts/verify.sh run 01-03`
- **关键前置**按本文「前置条件」准备环境变量/Secret/入口 IP
- **成功判据**:达到本文「预期」且 playbook 断言通过
- **自动化验收**`./ansible/bin/verify.sh run 01-03`
- **关键前置**arm 机网络可达;`SKIP_ARMV7=0` 时需配置 `ARMV7_SSH`(见 `ansible/env/.env.verify.example`
- **成功判据(推荐)**:远程 **`docker info`** 成功即视为 Docker 可用;脚本策略为 **先探测 `docker info`,成功则跳过安装,失败再安装**
- **排障**:见本文「排障」
## 官方安装脚本Docker CE
安装脚本由 **Docker, Inc.** 维护,仓库说明见 [docker/docker-install](https://github.com/docker/docker-install)(即 **get.docker.com** / test.docker.com 所用脚本)。用途是**在支持的 Linux 发行版上快速安装最新 Docker CE****不建议**在生产环境把「长期依赖此脚本」当作唯一部署方式;更完整发行版说明见 [Docker 安装文档](https://docs.docker.com/engine/install/)。
在目标主机上(本机或 SSH 登录后)的典型用法与官网一致:
```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
```
非 root 用户通常需 `sudo sh get-docker.sh`。脚本会处理包管理器与服务启用(具体行为因发行版而异)。
## 推荐流程:先验证,再决定是否安装
1. 在 arm 主机执行 **`docker info`**(或经 SSH 执行)。
2. **若已成功**(命令退出码 0视为已满足本篇目标**无需**再跑安装脚本。
3. **若失败**(未安装或 daemon 未起):再执行上节 **get.docker.com** 流程,然后再次 **`docker info`** 确认。
仓库已将上述逻辑封装为脚本(便于与 Ansible、`ARMV7_SSH` 一致):
```bash
# 在仓库根目录ARMV7_SSH 为一行可执行的 ssh建议 BatchMode
ARMV7_SSH='ssh -o BatchMode=yes user@arm-host' ./ansible/tools/armv7-docker-verify-install.sh
# 或
./ansible/tools/armv7-docker-verify-install.sh 'ssh -o BatchMode=yes user@arm-host'
```
## 前置条件
- armv7 节点网络可达
- 系统可安装 Docker
- armv7 / arm32 节点网络可达(安装阶段需访问 **get.docker.com**
- SSH 目标用户:若为非 root**`sudo` 免密**或已配置好非交互执行(脚本在非 root 下用 `sudo sh /tmp/get-docker.sh`
## 操作步骤
## 操作步骤(手工摘要)
1. 安装 Docker
2. 启用并启动 Docker 服务
3. 按需部署业务容器
1. 按上节 **先 `docker info`,失败再 `get-docker.sh`** 完成 Docker
2. 启用并确认 **`systemctl status docker`**(脚本通常已处理;若未启用需按发行版处理)。
3. 按需部署业务容器
## 验证命令
```bash
docker info
docker version
docker ps
```
**验收口径**:以 **`docker info`** 成功为主(与自动化脚本一致)。
## 预期
- Docker 可用
- **`docker info`** 无错误Docker daemon 可用
- 容器可正常启动
## 下一步
- `05-02-onenav首页面板.md`
- `01-05-armv7-nfs服务安装.md`
- `01-04-armv7-nfs服务安装.md`
## 排障
- **先看 playbook 输出**失败时先定位是 deploy/wait/http_check 哪一步
- **集群侧总览**`kubectl get nodes -o wide``kubectl -n kube-system get pods -o wide`
- **事件与日志**`kubectl -n <ns> describe ...``kubectl -n <ns> logs ... --tail=200`
- **先看 playbook / 脚本输出**区分「已跳过安装」与「执行了 get-docker.sh」
- **curl / TLS**arm 机需能访问 `https://get.docker.com`
- **sudo**:非 root SSH 时若安装失败,检查 `sudo -n true` 与免密配置。
- **集群侧**(本篇不依赖 K3s若在 verify 矩阵里同时跑 k3s 基线,仍见 `kubectl` 相关步骤属矩阵共用断言,与 arm Docker 无直接关系。