ccyunchina-deploy/manifests/traefik-ingress.yaml

120 lines
2.7 KiB
YAML

---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: traefik-ingress-controller
rules:
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- secrets
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses
verbs:
- get
- list
- watch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
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
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: traefik-ingress-controller
namespace: kube-system
---
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: traefik-ingress-controller
namespace: kube-system
labels:
k8s-app: traefik-ingress-lb
spec:
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
dnsPolicy: ClusterFirstWithHostNet
hostNetwork: true
containers:
- image: dev-docker-registry.ccyunchina.com/library/traefik:v1.7
name: traefik-ingress-lb
ports:
- name: http
containerPort: 80
hostPort: 80
- name: https
containerPort: 443
hostPort: 443
- name: admin
containerPort: 8080
securityContext:
privileged: true
args:
- '--api=false'
- --kubernetes
- '--accesslog'
- '--accessLog.fields.headers.defaultMode="drop"'
- '--accessLog.fields.headers.names="X-B3-TraceId=keep X-B3-SpanId=keep X-B3-ParentSpanId=keep"'
- '--traefiklog'
- '--tracing'
- '--tracing.zipkin'
- '--tracing.backend=zipkin'
- '--tracing.zipkin.httpendpoint=http://zipkin-server.kube-public:9411/api/v1/spans'
- '--tracing.servicename=gateway'
- '--respondingtimeouts'
- '--respondingtimeouts.readtimeout=600s'
- '--respondingtimeouts.writetimeout=600s'
resources:
requests:
cpu: 250m
memory: 60Mi
limits:
cpu: 500m
memory: 800Mi
---
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