From 1c397bdae1b0cf9658e96cd53c21c0aa38589fe7 Mon Sep 17 00:00:00 2001 From: ducoterra Date: Sat, 18 Apr 2020 16:00:50 -0400 Subject: [PATCH] init --- k8s/clusterrole.yaml | 29 +++++++++++++++++++++++++++++ k8s/clusterrolebinding.yaml | 12 ++++++++++++ k8s/deploy.yaml | 37 +++++++++++++++++++++++++++++++++++++ k8s/service.yaml | 19 +++++++++++++++++++ k8s/serviceaccount.yaml | 5 +++++ 5 files changed, 102 insertions(+) create mode 100644 k8s/clusterrole.yaml create mode 100644 k8s/clusterrolebinding.yaml create mode 100644 k8s/deploy.yaml create mode 100644 k8s/service.yaml create mode 100644 k8s/serviceaccount.yaml diff --git a/k8s/clusterrole.yaml b/k8s/clusterrole.yaml new file mode 100644 index 0000000..df0a2e2 --- /dev/null +++ b/k8s/clusterrole.yaml @@ -0,0 +1,29 @@ +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 \ No newline at end of file diff --git a/k8s/clusterrolebinding.yaml b/k8s/clusterrolebinding.yaml new file mode 100644 index 0000000..2238bd0 --- /dev/null +++ b/k8s/clusterrolebinding.yaml @@ -0,0 +1,12 @@ +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/k8s/deploy.yaml b/k8s/deploy.yaml new file mode 100644 index 0000000..406c303 --- /dev/null +++ b/k8s/deploy.yaml @@ -0,0 +1,37 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: traefik-external + namespace: kube-system + labels: + k8s-app: traefik-external-lb +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: traefik-external-lb + template: + metadata: + labels: + k8s-app: traefik-external-lb + name: traefik-external-lb + spec: + serviceAccountName: traefik-ingress-controller + terminationGracePeriodSeconds: 60 + containers: + - image: traefik:v1.7 + name: traefik-external-lb + ports: + - name: http + containerPort: 80 + - name: https + containerPort: 443 + - name: admin + containerPort: 8080 + args: + - --api + - --kubernetes + - --logLevel=INFO + - --defaultentrypoints=http,https + - --entrypoints=Name:https Address::443 TLS + - --entrypoints=Name:http Address::80 \ No newline at end of file diff --git a/k8s/service.yaml b/k8s/service.yaml new file mode 100644 index 0000000..2027856 --- /dev/null +++ b/k8s/service.yaml @@ -0,0 +1,19 @@ +kind: Service +apiVersion: v1 +metadata: + name: traefik-ingress-service + namespace: kube-system +spec: + selector: + k8s-app: traefik-external-lb + ports: + - protocol: TCP + port: 9080 + name: http + - protocol: TCP + port: 9443 + name: https + - protocol: TCP + port: 8080 + name: admin + type: LoadBalancer \ No newline at end of file diff --git a/k8s/serviceaccount.yaml b/k8s/serviceaccount.yaml new file mode 100644 index 0000000..64d2371 --- /dev/null +++ b/k8s/serviceaccount.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: traefik-ingress-controller + namespace: kube-system \ No newline at end of file