Traefik Proxy V3版本正式发布: 支持WebAssem)bly等特性
本文最后更新于 260 天前, 如有失效请评论区留言.
特性简单介绍
主要摘自官方博客 Announcing Traefik Proxy v3.0 RC1
V3 版本增加了对流行、新兴技术的支持——WebAssembly
(Wasm
)、OpenTelemetry
和 Kubernetes Gateway API
代理的核心是路由和安全,我们对路由规则的关键部分进行了迭代,并增加了对一些前沿技术的支持,如 HTTP/3、SPIFFE 和 Tailscale
路由与安全
HTTP/3
稳定版本支持,基于quic-go
- 支持
Brotli 压缩算法
, 网站加载速度加快 grpc
支持tailscale
联动,支持通过 tailscale 签发证书
扩展
支持 Wasm 开发 traefik 插件,提升性能与安全性。
〉WebAssembly(Wasm)是一种可在现代 Web 浏览器中运行的二进制代码格式。由于其高效性能和安全性,WebAssembly 在许多领域都得到了广泛应用。
可观测性
支持了 OpenTelemetry
集成 Kubernetes Gateway API
Traefik 可以说是 Gateway API 先锋,最早支持 GatewayAPI 版本的,现在全面支持,也很正常。
v2 迁移 v3
总体上来说,没有什么特别重点变更。如果你是从很早版本之前升级上来的可能需要注意了。
CRD 更新
目前更新 charts 版本不会自动更新已经存在的 crd,老版本升级可能需要注意,更新一下 CRD 资源
kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/master/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml
安装参数变更
# 老版本
expose: true
# 新版本
expose:
default: true
资源版本
v3 版本移除对 traefik.containo.us
的支持
这个在 v2 版本里已经调整为 traefik.io/v1alpha1
IP 白名单插件调整
目前使用 ipAllowList
,
ipWhiteList
已经废弃,可能后续版本就不支持了,暂时没影响
测试 Demo
apiVersion: v1
kind: Service
metadata:
name: whoami
spec:
ports:
- protocol: TCP
name: web
port: 80
selector:
app: whoami
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: whoami
labels:
app: whoami
spec:
replicas: 2
selector:
matchLabels:
app: whoami
template:
metadata:
labels:
app: whoami
spec:
nodeSelector:
node-role.kubernetes.io/bj: "true"
containers:
- name: whoami
image: h2.ysicing.net/containous/whoami
resources:
limits:
cpu: 100m
memory: 128M
ports:
- name: web
containerPort: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: whoami-http
spec:
entryPoints:
- web
routes:
- match: Host(`whoami.bjslb.ysicing.net`) && PathPrefix(`/notls`)
kind: Rule
services:
- name: whoami
port: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: whoami-https
spec:
entryPoints:
- websecure
routes:
- match: Host(`whoami.bjslb.ysicing.net`) && PathPrefix(`/tls`)
kind: Rule
services:
- name: whoami
port: 80
tls:
certResolver: myresolver