日常更新
This commit is contained in:
@@ -7,9 +7,10 @@
|
||||
|
||||
## TL;DR
|
||||
|
||||
- **自动化验收**:`./scripts/verify.sh run 03-04`
|
||||
- **关键前置**:按本文「前置条件」准备环境变量/Secret/入口 IP
|
||||
- **成功判据**:达到本文「预期」且 playbook 断言通过
|
||||
- **自动化验收**:`./ansible/bin/verify.sh run 03-04`
|
||||
- **关键前置**:Traefik 可用;域名托管 Cloudflare;Zero Trust 中 Tunnel 与 Public Hostname 已配置
|
||||
- **自动化所需环境变量**(见 `ansible/env/.env.verify.example`):**`CF_TUNNEL_TEST_URL`**(HTTPS 完整探针 URL)**或** **`CF_TUNNEL_TEST_HOST`**(仅主机名,脚本拼成 `https://HOST/`);**`TUNNEL_TOKEN`** 与集群内 `kube-system/cloudflared-credentials` **二选一**(已有 Secret 可不设 env)。二者探针变量皆缺时验收为 **gated**。可选 **`CF_TUNNEL_CURL_INSECURE=1`** 为探针 curl 加 `-k`(仅排障)。
|
||||
- **成功判据**:达到本文「预期」且 playbook 断言通过(rollout + HTTPS 探针)
|
||||
- **排障**:见本文「排障」
|
||||
|
||||
---
|
||||
@@ -53,9 +54,17 @@ Traefik 是唯一入口。所有流量经 Tunnel 进入后,由 Traefik 的 Ing
|
||||
|
||||
### 3. 部署 cloudflared 到 K3s
|
||||
|
||||
1. 从 **唯一真源** 复制清单:[`ansible/files/03-04/cloudflared.yaml`](../ansible/files/03-04/cloudflared.yaml)
|
||||
2. 将 `TUNNEL_TOKEN` 占位符替换为前述 Zero Trust 中复制的 Token
|
||||
3. 应用并等待 Pod 就绪(按实际 manifests 路径选择其一):
|
||||
[`ansible/files/03-04/cloudflared.yaml`](../ansible/files/03-04/cloudflared.yaml) **仅含 Deployment**;**Secret 必须单独创建**(避免 `kubectl apply` 覆盖 token)。推荐与 [`ansible/playbooks/verify/03-04.yml`](../ansible/playbooks/verify/03-04.yml) 一致:先 `cloudflared-credentials`,再 apply Deployment。
|
||||
|
||||
1. 在集群中创建 Secret(将 `YOUR_TOKEN` 换成 Zero Trust 里的 Tunnel token):
|
||||
|
||||
```bash
|
||||
kubectl -n kube-system create secret generic cloudflared-credentials \
|
||||
--from-literal=TUNNEL_TOKEN='YOUR_TOKEN' \
|
||||
--dry-run=client -o yaml | kubectl apply -f -
|
||||
```
|
||||
|
||||
2. 应用 Deployment 并等待就绪(按实际 manifests 路径选择其一):
|
||||
|
||||
```bash
|
||||
# 默认路径
|
||||
@@ -69,7 +78,7 @@ kubectl apply -f /storage/server/manifests/cloudflared.yaml
|
||||
kubectl -n kube-system rollout status deploy/cloudflared
|
||||
```
|
||||
|
||||
4. 将 `cloudflared.yaml` 放入上述 manifests 目录后,K3s 重启时会自动加载。
|
||||
3. 将 **Deployment 清单** 放入上述 manifests 目录后,K3s 重启时会自动加载(Secret 仍需单独存在)。
|
||||
|
||||
建议要点:
|
||||
|
||||
@@ -89,7 +98,7 @@ Tunnel 后端应指向 **集群内的 Traefik 入口**,常用写法:
|
||||
|
||||
**和仓库里哪份 YAML 的关系**
|
||||
|
||||
- 本仓库的 [`cloudflared.yaml`](../ansible/files/03-04/cloudflared.yaml) **只** 定义 `cloudflared` 的 Deployment/Secret,**不包含** Traefik Service;Tunnel 后端地址写的是 **集群里已存在的 Traefik Service**,不是 `cloudflared.yaml` 里的某一行。
|
||||
- 本仓库的 [`cloudflared.yaml`](../ansible/files/03-04/cloudflared.yaml) **只** 定义 `cloudflared` 的 Deployment;**Secret `cloudflared-credentials` 单独创建**,**不包含** Traefik Service。Tunnel 在 Zero Trust 里指向的仍是 **集群内已存在的 Traefik Service**。
|
||||
- Traefik 的 **Service** 由 K3s 内置 Traefik(HelmChart)安装时创建,资源名一般为 **`traefik`**,命名空间 **`kube-system`**。若你改过 chart 或 Service 名,以下 FQDN 与端口要以 **实际 `kubectl get svc` 输出** 为准。
|
||||
|
||||
**与 `kubectl get svc traefik -o yaml` 里哪些字段对应**
|
||||
|
||||
Reference in New Issue
Block a user