traefik.yaml 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. ---
  2. # Source: traefik/templates/rbac/serviceaccount.yaml
  3. kind: ServiceAccount
  4. apiVersion: v1
  5. metadata:
  6. name: traefik
  7. namespace: default
  8. labels:
  9. app.kubernetes.io/name: traefik
  10. app.kubernetes.io/instance: traefik-default
  11. helm.sh/chart: traefik-26.0.0
  12. app.kubernetes.io/managed-by: Helm
  13. annotations:
  14. ---
  15. # Source: traefik/templates/rbac/clusterrole.yaml
  16. kind: ClusterRole
  17. apiVersion: rbac.authorization.k8s.io/v1
  18. metadata:
  19. name: traefik-default
  20. labels:
  21. app.kubernetes.io/name: traefik
  22. app.kubernetes.io/instance: traefik-default
  23. helm.sh/chart: traefik-26.0.0
  24. app.kubernetes.io/managed-by: Helm
  25. rules:
  26. - apiGroups:
  27. - extensions
  28. - networking.k8s.io
  29. resources:
  30. - ingressclasses
  31. - ingresses
  32. verbs:
  33. - get
  34. - list
  35. - watch
  36. - apiGroups:
  37. - ""
  38. resources:
  39. - services
  40. - endpoints
  41. - secrets
  42. verbs:
  43. - get
  44. - list
  45. - watch
  46. - apiGroups:
  47. - extensions
  48. - networking.k8s.io
  49. resources:
  50. - ingresses/status
  51. verbs:
  52. - update
  53. - apiGroups:
  54. - traefik.io
  55. - traefik.containo.us
  56. resources:
  57. - ingressroutes
  58. - ingressroutetcps
  59. - ingressrouteudps
  60. - middlewares
  61. - middlewaretcps
  62. - tlsoptions
  63. - tlsstores
  64. - traefikservices
  65. - serverstransports
  66. verbs:
  67. - get
  68. - list
  69. - watch
  70. ---
  71. # Source: traefik/templates/rbac/clusterrolebinding.yaml
  72. kind: ClusterRoleBinding
  73. apiVersion: rbac.authorization.k8s.io/v1
  74. metadata:
  75. name: traefik-default
  76. labels:
  77. app.kubernetes.io/name: traefik
  78. app.kubernetes.io/instance: traefik-default
  79. helm.sh/chart: traefik-26.0.0
  80. app.kubernetes.io/managed-by: Helm
  81. roleRef:
  82. apiGroup: rbac.authorization.k8s.io
  83. kind: ClusterRole
  84. name: traefik-default
  85. subjects:
  86. - kind: ServiceAccount
  87. name: traefik
  88. namespace: default
  89. ---
  90. # Source: traefik/templates/service.yaml
  91. apiVersion: v1
  92. kind: Service
  93. metadata:
  94. name: traefik
  95. namespace: default
  96. labels:
  97. app.kubernetes.io/name: traefik
  98. app.kubernetes.io/instance: traefik-default
  99. helm.sh/chart: traefik-26.0.0
  100. app.kubernetes.io/managed-by: Helm
  101. annotations:
  102. spec:
  103. type: LoadBalancer
  104. selector:
  105. app.kubernetes.io/name: traefik
  106. app.kubernetes.io/instance: traefik-default
  107. ports:
  108. - port: 80
  109. name: "web"
  110. targetPort: web
  111. protocol: TCP
  112. - port: 443
  113. name: "websecure"
  114. targetPort: websecure
  115. protocol: TCP
  116. ---
  117. # Source: traefik/templates/deployment.yaml
  118. apiVersion: apps/v1
  119. kind: Deployment
  120. metadata:
  121. name: traefik
  122. namespace: default
  123. labels:
  124. app.kubernetes.io/name: traefik
  125. app.kubernetes.io/instance: traefik-default
  126. helm.sh/chart: traefik-26.0.0
  127. app.kubernetes.io/managed-by: Helm
  128. annotations:
  129. spec:
  130. replicas: 1
  131. selector:
  132. matchLabels:
  133. app.kubernetes.io/name: traefik
  134. app.kubernetes.io/instance: traefik-default
  135. strategy:
  136. rollingUpdate:
  137. maxSurge: 1
  138. maxUnavailable: 0
  139. type: RollingUpdate
  140. minReadySeconds: 0
  141. template:
  142. metadata:
  143. annotations:
  144. prometheus.io/scrape: "true"
  145. prometheus.io/path: "/metrics"
  146. prometheus.io/port: "9100"
  147. labels:
  148. app.kubernetes.io/name: traefik
  149. app.kubernetes.io/instance: traefik-default
  150. helm.sh/chart: traefik-26.0.0
  151. app.kubernetes.io/managed-by: Helm
  152. spec:
  153. serviceAccountName: traefik
  154. terminationGracePeriodSeconds: 60
  155. hostNetwork: false
  156. containers:
  157. - image: docker.io/traefik:v2.10.6
  158. imagePullPolicy: IfNotPresent
  159. name: traefik
  160. resources:
  161. readinessProbe:
  162. httpGet:
  163. path: /ping
  164. port: 9000
  165. scheme: HTTP
  166. failureThreshold: 1
  167. initialDelaySeconds: 2
  168. periodSeconds: 10
  169. successThreshold: 1
  170. timeoutSeconds: 2
  171. livenessProbe:
  172. httpGet:
  173. path: /ping
  174. port: 9000
  175. scheme: HTTP
  176. failureThreshold: 3
  177. initialDelaySeconds: 2
  178. periodSeconds: 10
  179. successThreshold: 1
  180. timeoutSeconds: 2
  181. lifecycle:
  182. ports:
  183. - name: "metrics"
  184. containerPort: 9100
  185. protocol: "TCP"
  186. - name: "traefik"
  187. containerPort: 9000
  188. protocol: "TCP"
  189. - name: "web"
  190. containerPort: 8000
  191. protocol: "TCP"
  192. - name: "websecure"
  193. containerPort: 8443
  194. protocol: "TCP"
  195. securityContext:
  196. allowPrivilegeEscalation: false
  197. capabilities:
  198. drop:
  199. - ALL
  200. readOnlyRootFilesystem: true
  201. volumeMounts:
  202. - name: data
  203. mountPath: /data
  204. - name: tmp
  205. mountPath: /tmp
  206. args:
  207. - "--global.checknewversion"
  208. - "--global.sendanonymoususage"
  209. - "--entrypoints.metrics.address=:9100/tcp"
  210. - "--entrypoints.traefik.address=:9000/tcp"
  211. - "--entrypoints.web.address=:8000/tcp"
  212. - "--entrypoints.websecure.address=:8443/tcp"
  213. - "--api.dashboard=true"
  214. - "--ping=true"
  215. - "--metrics.prometheus=true"
  216. - "--metrics.prometheus.entrypoint=metrics"
  217. - "--providers.kubernetescrd"
  218. - "--providers.kubernetesingress"
  219. - "--entrypoints.websecure.http.tls=true"
  220. env:
  221. - name: POD_NAME
  222. valueFrom:
  223. fieldRef:
  224. fieldPath: metadata.name
  225. - name: POD_NAMESPACE
  226. valueFrom:
  227. fieldRef:
  228. fieldPath: metadata.namespace
  229. volumes:
  230. - name: data
  231. emptyDir: {}
  232. - name: tmp
  233. emptyDir: {}
  234. securityContext:
  235. fsGroupChangePolicy: OnRootMismatch
  236. runAsGroup: 65532
  237. runAsNonRoot: true
  238. runAsUser: 65532
  239. ---
  240. # Source: traefik/templates/ingressclass.yaml
  241. apiVersion: networking.k8s.io/v1
  242. kind: IngressClass
  243. metadata:
  244. annotations:
  245. ingressclass.kubernetes.io/is-default-class: "true"
  246. labels:
  247. app.kubernetes.io/name: traefik
  248. app.kubernetes.io/instance: traefik-default
  249. helm.sh/chart: traefik-26.0.0
  250. app.kubernetes.io/managed-by: Helm
  251. name: traefik
  252. spec:
  253. controller: traefik.io/ingress-controller
  254. ---
  255. # Source: traefik/templates/dashboard-ingressroute.yaml
  256. apiVersion: traefik.io/v1alpha1
  257. kind: IngressRoute
  258. metadata:
  259. name: traefik-dashboard
  260. namespace: default
  261. annotations:
  262. labels:
  263. app.kubernetes.io/name: traefik
  264. app.kubernetes.io/instance: traefik-default
  265. helm.sh/chart: traefik-26.0.0
  266. app.kubernetes.io/managed-by: Helm
  267. spec:
  268. entryPoints:
  269. - traefik
  270. routes:
  271. - match: PathPrefix(`/dashboard`) || PathPrefix(`/api`)
  272. kind: Rule
  273. services:
  274. - name: api@internal
  275. kind: TraefikService