目录[-]
- . 一、Traefik 简介
- . 二、Kubernetes 部署 Traefik
- . 1、创建 CRD 资源
- . 2、创建 RBAC 权限
- . 3、创建 Traefik 配置文件
- . 4、节点设置 Label 标签
- . 5、Kubernetes 部署 Traefik
- . 三、Traefik 路由规则配置
- . 1、配置 HTTP 路由规则 (Traefik Dashboard 为例)
- . 2、配置 HTTPS 路由规则(Kubernetes Dashboard 为例)
系统环境:
- Traefik 版本:v2.1.2
- Kubernetes 版本:1.16.3
地址:
- Traefik 2.1 官方文档:https://docs.traefik.io/v2.1/
- 部署文件的 Github 地址:https://github.com/my-dlq/blog-example/tree/master/kubernetes/traefik-v2.1-deploy
一、Traefik 简介
Traefik 最新推出了 v2.1 版本,这里将 Traefik 升级到最新版本,简单的介绍了下如何在 Kubernetes 环境下安装 Traefik v2.1,下面将介绍如何在 Kubernetes 环境下部署并配置 Traefik v2.1。
二、Kubernetes 部署 Traefik
注意:这里 Traefik 是部署在 Kube-system Namespace 下,如果不是需要修改下面部署文件中的 Namespace 属性。
1、创建 CRD 资源
在 traefik v2.1 版本后,开始使用 CRD(Custom Resource Definition)来完成路由配置等,所以需要提前创建 CRD 资源。
创建 traefik-crd.yaml 文件
## IngressRoute
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: ingressroutes.traefik.containo.us
spec:
scope: Namespaced
group: traefik.containo.us
version: v1alpha1
names:
kind: IngressRoute
plural: ingressroutes
singular: ingressroute
---
## IngressRouteTCP
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: ingressroutetcps.traefik.containo.us
spec:
scope: Namespaced
group: traefik.containo.us
version: v1alpha1
names:
kind: IngressRouteTCP
plural: ingressroutetcps
singular: ingressroutetcp
---
## Middleware
apiVersion: apiextensions.k8s