chore: 清理调试脚本并收敛到 Ansible 流程
移除已废弃的调试/验证脚本与空目录,统一文档与脚本说明到 ansible-playbook 的部署方式,避免失效引用和误用路径。 Made-with: Cursor
This commit is contained in:
@@ -2,37 +2,39 @@
|
||||
# 含:ACME(Cloudflare DNS-01)、ping 健康检查(websecure)、PROXY protocol trustedIPs
|
||||
# 使用前:替换 <YOUR_REAL_EMAIL>,创建 cloudflare-api-token Secret,按实际修改 nodeSelector/trustedIPs
|
||||
# 部署:kubectl apply -f traefik-acme.yaml(或复制到 K3s manifests 目录)
|
||||
#
|
||||
# 推荐(Dashboard + ACME + local-path 一份清单):见 ../traefik-dashboard-acme/traefik-dashboard-acme.yaml
|
||||
---
|
||||
apiVersion: helm.cattle.io/v1
|
||||
kind: HelmChartConfig
|
||||
metadata:
|
||||
name: traefik
|
||||
namespace: kube-system
|
||||
spec:
|
||||
valuesContent: |-
|
||||
additionalArguments:
|
||||
- "--log.level=INFO"
|
||||
- "--certificatesresolvers.cloudflare.acme.dnschallenge.resolvers=1.1.1.1:53,1.0.0.1:53"
|
||||
- "--certificatesresolvers.cloudflare.acme.email=<YOUR_REAL_EMAIL>"
|
||||
- "--certificatesresolvers.cloudflare.acme.storage=/data/acme.json"
|
||||
apiVersion: helm.cattle.io/v1 # HelmChartConfig 所在的 API 版本
|
||||
kind: HelmChartConfig # HelmChartConfig:给 K3s 自带 Helm chart 注入 values 的资源
|
||||
metadata: # 该对象的标识信息
|
||||
name: traefik # chart 对应的对象名称(通常与 Traefik chart name 一致)
|
||||
namespace: kube-system # HelmChartConfig 的命名空间(Traefik 默认在 kube-system)
|
||||
spec: # chart 注入配置的具体内容
|
||||
valuesContent: |- # 以“字符串形式的 YAML”注入到 Helm chart values(由 chart 解析)
|
||||
additionalArguments: # 追加给 Traefik 的额外启动参数列表
|
||||
- "--log.level=INFO" # 日志级别:INFO
|
||||
- "--certificatesresolvers.cloudflare.acme.dnschallenge.resolvers=1.1.1.1:53,1.0.0.1:53" # DNS resolver 列表
|
||||
- "--certificatesresolvers.cloudflare.acme.email=<YOUR_REAL_EMAIL>" # ACME 注册邮箱
|
||||
- "--certificatesresolvers.cloudflare.acme.storage=/data/acme.json" # ACME 存储(容器内路径)
|
||||
# - "--certificatesresolvers.cloudflare.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory" # 测试用,上线前删除
|
||||
- "--certificatesresolvers.cloudflare.acme.dnschallenge.provider=cloudflare"
|
||||
- "--certificatesresolvers.cloudflare.acme.dnschallenge.propagation.delayBeforeChecks=600"
|
||||
- "--certificatesresolvers.cloudflare.acme.dnschallenge.provider=cloudflare" # 使用 Cloudflare 作为 DNS-01 provider
|
||||
- "--certificatesresolvers.cloudflare.acme.dnschallenge.propagation.delayBeforeChecks=600" # DNS propagation 等待时间(秒)
|
||||
|
||||
# 健康检查:GET /ping 在 443(HTTPS) 返回 200,供 HAProxy 对 443 做 option httpchk + ssl
|
||||
- "--ping=true"
|
||||
- "--ping.entryPoint=websecure"
|
||||
- "--ping=true" # 开启 ping healthcheck
|
||||
- "--ping.entryPoint=websecure" # ping 走 websecure(HTTPS) entrypoint
|
||||
|
||||
# PROXY protocol:trustedIPs 需包含 HAProxy 所在 IP/网段
|
||||
- "--entrypoints.web.proxyProtocol.trustedIPs=192.168.2.0/24"
|
||||
- "--entrypoints.websecure.proxyProtocol.trustedIPs=192.168.2.0/24"
|
||||
- "--entrypoints.web.proxyProtocol.trustedIPs=192.168.2.0/24" # HTTP entrypoint 信任的代理网段
|
||||
- "--entrypoints.websecure.proxyProtocol.trustedIPs=192.168.2.0/24" # HTTPS entrypoint 信任的代理网段
|
||||
|
||||
env:
|
||||
- name: CF_DNS_API_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: cloudflare-api-token
|
||||
key: api-token
|
||||
env: # 环境变量注入(给 Traefik chart)
|
||||
- name: CF_DNS_API_TOKEN # Cloudflare API Token 环境变量名
|
||||
valueFrom: # 从 Secret 中读取环境变量值
|
||||
secretKeyRef: # Secret 引用方式:按 key 取值
|
||||
name: cloudflare-api-token # Secret 名称(你创建的 Cloudflare Token Secret)
|
||||
key: api-token # Secret 内对应的 key 名
|
||||
|
||||
nodeSelector:
|
||||
kubernetes.io/hostname: ylc61
|
||||
nodeSelector: # 把 Traefik Pod 固定到指定节点(配合 RWO 本地存储更安全)
|
||||
kubernetes.io/hostname: ylc61 # 固定节点主机名(按你的实际节点修改)
|
||||
|
||||
Reference in New Issue
Block a user