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

1.7 KiB
Raw Blame History

03-05-k3s Cloudflare Tunnel 配置接入

本文只讲 K3s 侧如何接入 Cloudflare Tunnelcloudflared 部署、验证、排查)。

前置条件

  • 已完成 01-04-cloudflare-tunnel.md
  • 已拿到 Tunnel Token 或凭据文件
  • Traefik 已可用(单节点/多节点均可)

操作步骤

  1. 在 K3s 中创建保存 token/凭据的 Secret + Deployment。唯一真源ansible/files/cloudflare-tunnel/cloudflared.yaml(替换 TUNNEL_TOKEN 占位符)。

  2. 部署 cloudflared 并确保重启后自动生效(按实际路径选择其一复制执行):

# 默认路径
kubectl apply -f /var/lib/rancher/k3s/server/manifests/cloudflared.yaml
kubectl -n kube-system rollout status deploy/cloudflared
# 自定义 data-dir如 /storage
kubectl apply -f /storage/server/manifests/cloudflared.yaml
kubectl -n kube-system rollout status deploy/cloudflared
  1. cloudflared.yaml 放入上述 manifests 目录后K3s 重启时会自动加载。

建议要点:

  • 使用官方 cloudflared 镜像
  • Secret 不写死在明文 YAML
  • cloudflared 放在 kube-system 或专用 namespace

验证命令

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