traefik.yaml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. ---
  2. apiVersion: v1
  3. kind: ServiceAccount
  4. metadata:
  5. name: traefik-ingress-controller
  6. ---
  7. kind: ClusterRole
  8. apiVersion: rbac.authorization.k8s.io/v1beta1
  9. metadata:
  10. name: traefik-ingress-controller
  11. rules:
  12. - apiGroups:
  13. - ""
  14. resources:
  15. - services
  16. - endpoints
  17. - secrets
  18. verbs:
  19. - get
  20. - list
  21. - watch
  22. - apiGroups:
  23. - extensions
  24. resources:
  25. - ingresses
  26. verbs:
  27. - get
  28. - list
  29. - watch
  30. ---
  31. kind: ClusterRoleBinding
  32. apiVersion: rbac.authorization.k8s.io/v1beta1
  33. metadata:
  34. name: traefik-ingress-controller
  35. roleRef:
  36. apiGroup: rbac.authorization.k8s.io
  37. kind: ClusterRole
  38. name: traefik-ingress-controller
  39. subjects:
  40. - kind: ServiceAccount
  41. name: traefik-ingress-controller
  42. namespace: {{ .Release.Namespace }}
  43. ---
  44. kind: Deployment
  45. apiVersion: extensions/v1beta1
  46. metadata:
  47. name: traefik-ingress-controller
  48. labels:
  49. app: traefik-ingress-lb
  50. spec:
  51. replicas: 1
  52. selector:
  53. matchLabels:
  54. app: traefik-ingress-lb
  55. template:
  56. metadata:
  57. labels:
  58. app: traefik-ingress-lb
  59. name: traefik-ingress-lb
  60. spec:
  61. serviceAccountName: traefik-ingress-controller
  62. terminationGracePeriodSeconds: 60
  63. containers:
  64. - image: traefik:v1.6.6
  65. name: traefik-ingress-lb
  66. ports:
  67. - name: http
  68. containerPort: 80
  69. - name: admin
  70. containerPort: 8080
  71. args:
  72. - --api
  73. - --kubernetes
  74. - --logLevel=INFO
  75. ---
  76. kind: Service
  77. apiVersion: v1
  78. metadata:
  79. name: traefik-ingress-service
  80. spec:
  81. selector:
  82. app: traefik-ingress-lb
  83. ports:
  84. - name: web
  85. port: 80
  86. - name: admin
  87. port: 8080
  88. type: LoadBalancer
  89. #loadBalancerIp: {{ .Values.loadBalancerIp }}
  90. ---
  91. apiVersion: extensions/v1beta1
  92. kind: Ingress
  93. metadata:
  94. name: traefik-admin-ui
  95. annotations:
  96. kubernetes.io/ingress.class: traefik
  97. spec:
  98. rules:
  99. - host: traefik.{{ .Values.domain }}
  100. http:
  101. paths:
  102. - path: /
  103. backend:
  104. serviceName: traefik-ingress-service
  105. servicePort: admin