# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. --- apiVersion: v1 kind: Service metadata: name: traefik annotations: service.beta.kubernetes.io/cloudstack-load-balancer-proxy-protocol: enabled spec: type: LoadBalancer ports: - name: http port: 80 targetPort: http - name: https port: 443 targetPort: https --- apiVersion: v1 kind: ConfigMap metadata: name: traefik-conf data: traefik.toml: | defaultEntryPoints = ["http"] [entryPoints] [entryPoints.http] address = ":80" [entryPoints.http.proxyProtocol] trustedIPs = ["127.0.0.1/32", "10.0.0.1/32"] [entryPoints.https] address = ":443" [entryPoints.https.proxyProtocol] trustedIPs = ["127.0.0.1/32", "10.0.0.1/32"] --- apiVersion: apps/v1 kind: DaemonSet metadata: name: traefik-ingress-controller spec: selector: matchLabels: name: traefik-ingress-controller template: metadata: labels: name: traefik-ingress-controller spec: hostNetwork: true containers: - args: - --configfile=/config/traefik.toml image: traefik:1.7.12 imagePullPolicy: Always name: traefik-ingress ports: - containerPort: 80 hostPort: 80 name: http protocol: TCP - containerPort: 443 hostPort: 443 name: https protocol: TCP volumeMounts: - mountPath: /config name: config volumes: - configMap: defaultMode: 420 name: traefik-conf name: config