Files
Deploy-Laboratory/docs/03-04-k3s-cloudflare-tunnel-配置接入.md
2026-03-21 04:36:06 +08:00

59 lines
1.7 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.
# 03-05-k3s Cloudflare Tunnel 配置接入
> 本文只讲 K3s 侧如何接入 Cloudflare Tunnel`cloudflared` 部署、验证、排查)。
## 前置条件
- 已完成 `01-04-cloudflare-tunnel.md`
- 已拿到 Tunnel Token 或凭据文件
- Traefik 已可用(单节点/多节点均可)
## 操作步骤
1. 在 K3s 中创建保存 token/凭据的 Secret + Deployment。**唯一真源**[`ansible/files/cloudflare-tunnel/cloudflared.yaml`](../ansible/files/cloudflare-tunnel/cloudflared.yaml)(替换 `TUNNEL_TOKEN` 占位符)。
2. 部署 `cloudflared` 并确保重启后自动生效(按实际路径选择其一复制执行):
```bash
# 默认路径
kubectl apply -f /var/lib/rancher/k3s/server/manifests/cloudflared.yaml
kubectl -n kube-system rollout status deploy/cloudflared
```
```bash
# 自定义 data-dir如 /storage
kubectl apply -f /storage/server/manifests/cloudflared.yaml
kubectl -n kube-system rollout status deploy/cloudflared
```
3.`cloudflared.yaml` 放入上述 manifests 目录后K3s 重启时会自动加载。
建议要点:
- 使用官方 `cloudflared` 镜像
- Secret 不写死在明文 YAML
- `cloudflared` 放在 `kube-system` 或专用 namespace
## 验证命令
```bash
kubectl -n kube-system get pods | grep cloudflared
kubectl -n kube-system logs deploy/cloudflared --tail=100
```
## 预期
- 日志中可见 tunnel connected
- 访问域名可到达 Traefik 路由
## 失败排查
- 域名解析正常但访问超时:先看 Tunnel 状态与 `cloudflared` 日志
- 返回 `404`:通常是 Traefik 路由未命中
- 返回 `502`:优先排查后端链路(`06-01-k3s-networkpolicy-故障排查.md`
## 下一步
- `05-03-k3s-安装gitlab-含runner.md`
- `05-01-k3s-部署homer首页面板.md`