Traefik v2からv3へのマイグレーション¶
(2023.5.20更新)
Traefik v2からv3への移行時に一部の設定を変更する必要があります。
IPWhiteList¶
v3では、IPWhiteList
ミドルウェアをIPAllowList
に名称変更しましたが、構成は何も変更していません。
gRPC メトリクス¶
v3では、gRPCリクエストの報告されるステータスコードはGrpc-Status
ヘッダーの値になりました。
非推奨オプションの削除¶
pilot
オプションは、静的設定から削除されました。tracing.datadog.globaltag
オプションは削除されました。- Consul、Consul Catalog、Nomadの各プロバイダーから
namespace
オプションが削除されました。 - ForwardAuthミドルウェア、および HTTP、Consul、Etcd、Redis、ZooKeeper、Marathon、Consul Catalog、Dockerの各プロバイダーから
tls.caOptional
オプションが削除されました。 - Headersミドルウェアから
sslRedirect
、sslTemporaryRedirect
、sslHost
、sslForceHost
、featurePolicy
オプションが削除されました。 - StripPrefixミドルウェアから
forceSlash
オプションが削除されました。 preferServerCipherSuites
オプションが削除されました。
Matcher¶
Headers
およびHeadersRegexp
matcherはそれぞれHeader
およびHeaderRegexp
に名称が変更されました。QueryRegexp
が導入され、正規表現を用いたクエリ値のマッチングが可能になりました。HeaderRegexp
、HostRegexp
、PathRegexp
、QueryRegexp
、HostSNIRegexp
の各matcherは、Go言語のregexp構文を使用するようになりました。- すべてのmatcherは、1つの値を取るようになり(但し
Headers
、HeaderRegexp
、Query
、QueryRegexp
は 2つ取ります)、以前の動作と同様に論理演算子を使用して明示的に結合する必要があります。 Query
は、値を持たないクエリ値(例: /search?mobile)にマッチする単一の値を取ることができます。HostHeader
は削除されました。代わりにHost
を使用してください。
Content-Typeの自動検出¶
v3では、バックエンドによって設定されていない場合、Content-Type
ヘッダは自動検出されなくなりました。ContentType
ミドルウェアを使用して、Content-Type
ヘッダー値の自動検出を有効にする必要があります。
HTTP/3¶
v3では、HTTP/3は実験的な機能ではなくなりました。experimental.http3
オプションは、静的設定から削除されました。
TCP ServersTransport¶
v3では、TCPServersTransport
のサポートが導入されました。そのため、KubernetesCRDプロバイダを使用する場合、RBAC および CRD マニフェストを更新する必要があります。
TCP LoadBalancerのTerminationDelayオプション¶
TCP LoadBalancerのterminationDelay
オプションは削除されました。このオプションは、TCPServersTransport
レベルで直接設定できるようになったので、こちらのドキュメントを参照してください。
Rancher v1¶
v3では、Rancher v1プロバイダーは削除されました。Rancher v1は活発にメンテナンスされておらず、v2は標準の Kubernetesプロバイダーとしてサポートされているからです。
Rancher 2.xはKubernetesを必要とし、Traefikがクエリするためのメタデータエンドポイントを持ちません。そのため、Rancher 2.xのユーザーはKubernetesのCRDプロバイダーを直接利用する必要があります。
Marathonプロバイダ¶
v3では、Marathonプロバイダが削除されました。
InfluxDB v1¶
v3では、InfluxDB v1.xのメンテナンスが2021年に終了したため、InfluxDB v1のメトリクスプロバイダは削除されています。
Kubernetes CRDs APIグループ traefik.containo.us¶
v3では、Kubernetes CRDsのAPIグループtraefik.containo.us
は削除されました。代わりにAPIグループtraefik.io
を使用してください。
Docker & Docker Swarm¶
v3では、Dockerプロバイダが2つに分割されました。
- Dockerプロバイダ(Swarm非対応)
- Swarmプロバイダ(Swarmサポートのみ)