Update for traefik 2.0
This commit is contained in:
parent
bf94bf993c
commit
5fbb40ffda
3 changed files with 87 additions and 1 deletions
|
|
@ -5,5 +5,6 @@ ingress_domain: "local.dataminem.net"
|
||||||
# - 10.244.0.0/16
|
# - 10.244.0.0/16
|
||||||
# - 192.168.140.0/24
|
# - 192.168.140.0/24
|
||||||
basic_auth: false
|
basic_auth: false
|
||||||
|
#traefik_version: "2.0"
|
||||||
|
|
||||||
scope_version: 1.12.0
|
scope_version: 1.12.0
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
api_version: v1
|
api_version: v1
|
||||||
kind: Namespace
|
kind: Namespace
|
||||||
|
|
||||||
- name: Create a Secret object for basic authentification
|
- name: Create a Secret object for basic authentification (traefik 1.7)
|
||||||
k8s:
|
k8s:
|
||||||
state: present
|
state: present
|
||||||
context: "{{ my_context }}"
|
context: "{{ my_context }}"
|
||||||
|
|
@ -26,8 +26,39 @@
|
||||||
basic_auth: "{{ basic_auth_data | b64encode }}"
|
basic_auth: "{{ basic_auth_data | b64encode }}"
|
||||||
when:
|
when:
|
||||||
- basic_auth == true
|
- basic_auth == true
|
||||||
|
- traefik_version is not defined or traefik_version == "1.7"
|
||||||
tags: weave
|
tags: weave
|
||||||
|
|
||||||
|
- name: Remove a Secret object for basic authentification (traefik 1.7)
|
||||||
|
k8s:
|
||||||
|
state: absent
|
||||||
|
context: "{{ my_context }}"
|
||||||
|
definition:
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: basic-auth
|
||||||
|
namespace: weave
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
basic_auth: "{{ basic_auth_data | b64encode }}"
|
||||||
|
when:
|
||||||
|
- traefik_version is defined
|
||||||
|
- traefik_version != "1.7"
|
||||||
|
tags: weave
|
||||||
|
|
||||||
|
- name: Remove old existing Ingress object
|
||||||
|
k8s:
|
||||||
|
context: "{{ my_context }}"
|
||||||
|
state: absent
|
||||||
|
api_version: extensions/v1beta1
|
||||||
|
kind: Ingress
|
||||||
|
namespace: weave
|
||||||
|
name: weave
|
||||||
|
when:
|
||||||
|
- traefik_version is defined
|
||||||
|
- traefik_version != "1.7"
|
||||||
|
|
||||||
# file found https://github.com/weaveworks/scope/tree/master/examples/k8s/
|
# file found https://github.com/weaveworks/scope/tree/master/examples/k8s/
|
||||||
- name: Weave Scope files
|
- name: Weave Scope files
|
||||||
k8s:
|
k8s:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
{% if traefik_version is not defined %}
|
||||||
#will not work: weave hate https...
|
#will not work: weave hate https...
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
|
|
@ -23,4 +24,57 @@ spec:
|
||||||
backend:
|
backend:
|
||||||
serviceName: weave-scope-app
|
serviceName: weave-scope-app
|
||||||
servicePort: 80
|
servicePort: 80
|
||||||
|
{% else %}
|
||||||
|
{% if traefik_version == "2.0" %}
|
||||||
|
apiVersion: traefik.containo.us/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: weave
|
||||||
|
namespace: weave
|
||||||
|
labels:
|
||||||
|
app: weave
|
||||||
|
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- https
|
||||||
|
routes:
|
||||||
|
# Match is the rule corresponding to an underlying router.
|
||||||
|
# Later on, match could be the simple form of a path prefix, e.g. just "/bar",
|
||||||
|
# but for now we only support a traefik style matching rule.
|
||||||
|
- match: Host(`weave.{{ ingress_domain }}`)
|
||||||
|
# kind could eventually be one of "Rule", "Path", "Host", "Method", "Header",
|
||||||
|
# "Parameter", etc, to support simpler forms of rule matching, but for now we
|
||||||
|
# only support "Rule".
|
||||||
|
kind: Rule
|
||||||
|
# (optional) Priority disambiguates rules of the same length, for route matching.
|
||||||
|
priority: 12
|
||||||
|
{% if basic_auth is defined or ingress_whitelist is defined %}
|
||||||
|
middlewares:
|
||||||
|
{% if basic_auth is defined %}
|
||||||
|
- name: basic-auth
|
||||||
|
namespace: tools
|
||||||
|
{% endif %}
|
||||||
|
{% if ingress_whitelist is defined %}
|
||||||
|
- name: traefik-ipwhitelist
|
||||||
|
namespace: tools
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
services:
|
||||||
|
- name: weave-scope-app
|
||||||
|
port: 80
|
||||||
|
# (default 1) A weight used by the weighted round-robin strategy (WRR).
|
||||||
|
weight: 1
|
||||||
|
# (default true) PassHostHeader controls whether to leave the request's Host
|
||||||
|
# Header as it was before it reached the proxy, or whether to let the proxy set it
|
||||||
|
# to the destination (backend) host.
|
||||||
|
passHostHeader: true
|
||||||
|
responseForwarding:
|
||||||
|
# (default 100ms) Interval between flushes of the buffered response body to the client.
|
||||||
|
flushInterval: 100ms
|
||||||
|
tls:
|
||||||
|
secretName: wildcard-cluster
|
||||||
|
options:
|
||||||
|
name: default
|
||||||
|
namespace: tools
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue