commit 97759e26250ba49cb3f17cc09b66567caa0569a7 Author: Vezpi Date: Sun Oct 20 10:24:58 2019 +0200 création des fichiers pour mettre en place traefik en ingress controller diff --git a/traefik/01_service-account.yaml b/traefik/01_service-account.yaml new file mode 100644 index 0000000..985cbe2 --- /dev/null +++ b/traefik/01_service-account.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: traefik-ingress + namespace: kube-system diff --git a/traefik/02_cluster-role.yaml b/traefik/02_cluster-role.yaml new file mode 100644 index 0000000..21038b3 --- /dev/null +++ b/traefik/02_cluster-role.yaml @@ -0,0 +1,30 @@ +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: traefik-ingress-controller +rules: + - apiGroups: + - "" + resources: + - services + - endpoints + - secrets + verbs: + - get + - list + - watch + - apiGroups: + - extensions + resources: + - ingresses + verbs: + - get + - list + - watch + - apiGroups: + - extensions + resources: + - ingresses/status + verbs: + - update diff --git a/traefik/03_cluster-role-binding.yaml b/traefik/03_cluster-role-binding.yaml new file mode 100644 index 0000000..2ce2ed1 --- /dev/null +++ b/traefik/03_cluster-role-binding.yaml @@ -0,0 +1,13 @@ +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: traefik-ingress-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: traefik-ingress-controller +subjects: +- kind: ServiceAccount + name: traefik-ingress-controller + namespace: kube-system diff --git a/traefik/04_daemon-set.yaml b/traefik/04_daemon-set.yaml new file mode 100644 index 0000000..13a41f6 --- /dev/null +++ b/traefik/04_daemon-set.yaml @@ -0,0 +1,37 @@ +--- +kind: DaemonSet +apiVersion: extensions/v1beta1 +metadata: + name: traefik-ingress-controller + namespace: kube-system + labels: + k8s-app: traefik-ingress-lb +spec: + template: + metadata: + labels: + k8s-app: traefik-ingress-lb + name: traefik-ingress-lb + spec: + serviceAccountName: traefik-ingress-controller + terminationGracePeriodSeconds: 60 + containers: + - image: traefik + name: traefik-ingress-lb + ports: + - name: http + containerPort: 80 + hostPort: 80 + - name: admin + containerPort: 8080 + hostPort: 8080 + securityContext: + capabilities: + drop: + - ALL + add: + - NET_BIND_SERVICE + args: + - --api + - --kubernetes + - --logLevel=INFO diff --git a/traefik/05_service-ingress.yaml b/traefik/05_service-ingress.yaml new file mode 100644 index 0000000..4833bdf --- /dev/null +++ b/traefik/05_service-ingress.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: traefik-ingress-service + namespace: kube-system +spec: + selector: + k8s-app: traefik-ingress-lb + ports: + - protocol: TCP + port: 80 + name: web + - protocol: TCP + port: 8080 + name: admin diff --git a/traefik/06_service-ui-traefik.yaml b/traefik/06_service-ui-traefik.yaml new file mode 100644 index 0000000..3817101 --- /dev/null +++ b/traefik/06_service-ui-traefik.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: traefik-web-ui + namespace: kube-system +spec: + selector: + k8s-app: traefik-ingress-lb + ports: + - name: web + port: 80 + targetPort: 8080 diff --git a/traefik/07_ingress-ui-traefik.yaml b/traefik/07_ingress-ui-traefik.yaml new file mode 100644 index 0000000..c27ccd1 --- /dev/null +++ b/traefik/07_ingress-ui-traefik.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: traefik-web-ui + namespace: kube-system +spec: + rules: + - host: traefik.dev.vezpi.me + http: + paths: + - path: / + backend: + serviceName: traefik-web-ui + servicePort: web