From 2d84f2255bc55b8afeba05f6d163b2d34fe4e7cf Mon Sep 17 00:00:00 2001 From: yangchuanhu Date: Thu, 16 Aug 2018 19:12:26 +0800 Subject: [PATCH] add traefik article --- traefikdemo/ingress.yaml | 15 +++++++++++ traefikdemo/rbac.yaml | 44 ++++++++++++++++++++++++++++++++ traefikdemo/traefik.yaml | 55 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 traefikdemo/ingress.yaml create mode 100644 traefikdemo/rbac.yaml create mode 100644 traefikdemo/traefik.yaml diff --git a/traefikdemo/ingress.yaml b/traefikdemo/ingress.yaml new file mode 100644 index 0000000..5af1c17 --- /dev/null +++ b/traefikdemo/ingress.yaml @@ -0,0 +1,15 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: traefik-web-ui + namespace: kube-system + annotations: + kubernetes.io/ingress.class: traefik +spec: + rules: + - host: traefik.haimaxy.com + http: + paths: + - backend: + serviceName: traefik-ingress-service + servicePort: admin diff --git a/traefikdemo/rbac.yaml b/traefikdemo/rbac.yaml new file mode 100644 index 0000000..ac18f4f --- /dev/null +++ b/traefikdemo/rbac.yaml @@ -0,0 +1,44 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: traefik-ingress-controller + namespace: kube-system + +--- +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 +--- +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/traefikdemo/traefik.yaml b/traefikdemo/traefik.yaml new file mode 100644 index 0000000..09a8ca7 --- /dev/null +++ b/traefikdemo/traefik.yaml @@ -0,0 +1,55 @@ +--- +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: traefik-ingress-controller + namespace: kube-system + labels: + k8s-app: traefik-ingress-lb +spec: + replicas: 1 + selector: + matchLabels: + k8s-app: traefik-ingress-lb + template: + metadata: + labels: + k8s-app: traefik-ingress-lb + name: traefik-ingress-lb + spec: + serviceAccountName: traefik-ingress-controller + terminationGracePeriodSeconds: 60 + tolerations: + - operator: "Exists" + nodeSelector: + kubernetes.io/hostname: master + containers: + - image: traefik + name: traefik-ingress-lb + ports: + - name: http + containerPort: 80 + hostPort: 80 + - name: admin + containerPort: 8080 + args: + - --api + - --kubernetes + - --logLevel=INFO +--- +kind: Service +apiVersion: v1 +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 + type: NodePort -- GitLab