追风赶月莫停留,平芜尽处是春山。这篇文章主要讲述kubernetes 部署 traefik2.5相关的知识,希望能为你提供帮助。
kubernetes 部署 traefik2.5零、前言
【kubernetes 部署 traefik2.5】 本文不涉及一、系统环境Gateway API
,因为仍然是实验功能。
traefik
相关基础知识都在之前的文章写了,本文只关注新装2.5版本,以及在不同k8s版本安装的差异性进行备注
Traefik
版本: 2.5.6Kubernetes
版本:1.19
Kubernetes
1.14+Helm
3.x
添加
Traefik chart
仓库helm repo add traefik https://helm.traefik.io/traefik
更新仓库
helm repo update
使用
helm
安装helm install traefik traefik/traefik
其他个性化配置查看
values.yaml
helm安装官方文档
三、手动安装3.1 创建CRD
这里要注意你的k8s版本,从k8s 1.16开始废弃00-traefik-v2.5-crd.yamlapiextensions.k8s.io/v1beta1
,1.22完全删除。
对于k8s 1.16 以上版本,使用apiextensions.k8s.io/v1
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.6.2
creationTimestamp: null
name: ingressroutes.traefik.containo.us
spec:
group: traefik.containo.us
names:
kind: IngressRoute
listKind: IngressRouteList
plural: ingressroutes
singular: ingressroute
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: IngressRoute is an Ingress CRD specification.
properties:
apiVersion:
description: APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: IngressRouteSpec is a specification for a IngressRouteSpec
resource.
properties:
entryPoints:
items:
type: string
type: array
routes:
items:
description: Route contains the set of routes.
properties:
kind:
enum:
- Rule
type: string
match:
type: string
middlewares:
items:
description: MiddlewareRef is a ref to the Middleware resources.
properties:
name:
type: string
namespace:
type: string
required:
- name
type: object
type: array
priority:
type: integer
services:
items:
description: Service defines an upstream to proxy traffic.
properties:
kind:
enum:
- Service
- TraefikService
type: string
name:
description: Name is a reference to a Kubernetes Service
object (for a load-balancer of servers), or to a TraefikService
object (service load-balancer, mirroring, etc). The
differentiation between the two is specified in the
Kind field.
type: string
namespace:
type: string
passHostHeader:
type: boolean
port:
anyOf:
- type: integer
- type: string
x-kubernetes-int-or-string: true
responseForwarding:
description: ResponseForwarding holds configuration for
the forward of the response.
properties:
flushInterval:
type: string
type: object
scheme:
type: string
serversTransport:
type: string
sticky:
description: Sticky holds the sticky configuration.
properties:
cookie:
description: Cookie holds the sticky configuration
based on cookie.
properties:
httpOnly:
type: boolean
name:
type: string
sameSite:
type: string
secure:
type: boolean
type: object
type: object
strategy:
type: string
weight:
description: Weight should only be specified when Name
references a TraefikService object (and to be precise,
one that embeds a Weighted Round Robin).
type: integer
required:
- name
type: object
type: array
required:
- kind
- match
type: object
type: array
tls:
description: "TLS contains the TLS certificates configuration of the
routes. To enable Lets Encrypt, use an empty TLS struct, e.g. in
YAML: \\n \\t tls:# inline format \\n \\t tls: \\tsecretName:
# block format"
properties:
certResolver:
type: string
domains:
items:
description: Domain holds a domain name with SANs.
properties:
main:
type: string
sans:
items:
type: string
type: array
type: object
type: array
options:
description: Options is a reference to a TLSOption, that specifies
the parameters of the TLS connection.
properties:
name:
type: string
推荐阅读
- 简单的ctime,atime和mtime区别说明
- (服务运维)NFS和LAP组合实验
- 如何开发基于云的SaaS应用程序()
- 如何确定二叉树是否高度平衡()
- 如何设计一个很小的URL或URL缩短器()
- 如何声明一个指向函数的指针()
- 如何在C#中创建线程(解析和详细代码)
- 如何在C#中创建ArrayList(用法示例)
- 如何使用Kotlin在Android Studio中创建项目()