add traefik-arm

This commit is contained in:
kev 2016-09-09 16:44:23 +08:00
parent 5780c285ce
commit f5be64757c
7 changed files with 4573 additions and 0 deletions

View File

@ -178,6 +178,7 @@ A collection of delicious docker recipes.
- [x] stunnel
- [x] stunnel-arm
- [x] tor
- [x] traefik-arm
## VPN

5
traefik/arm/Dockerfile Normal file
View File

@ -0,0 +1,5 @@
FROM scratch
COPY ca-certificates.crt /etc/ssl/certs/
COPY traefik /
EXPOSE 80
ENTRYPOINT ["/traefik"]

25
traefik/arm/README.md Normal file
View File

@ -0,0 +1,25 @@
traefik
=======
![](https://traefik.io/traefik.logo.svg)
[Træfɪk][1] is a modern HTTP reverse proxy and load balancer made to deploy
microservices with ease. It supports several backends (Docker 🐳, Swarm 🐳🐳,
Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) to manage
its configuration automatically and dynamically.
## up and running
```bash
$ kubectl cluster-info
$ kubectl create -f k8s.rc.yaml -f k8s.ing.yaml
$ kubectl run website --image=easypi/nginx-arm --port=80 --replicas=4
$ kubectl expose deployment website --type=NodePort
$ curl --resolve website:80:192.168.31.231 http://website/
```
## references
- <https://medium.com/@rothgar/exposing-services-using-ingress-with-on-prem-kubernetes-clusters-f413d87b6d34>
[1]: https://github.com/containous/traefik

File diff suppressed because it is too large Load Diff

13
traefik/arm/k8s.ing.yaml Normal file
View File

@ -0,0 +1,13 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: website-ingress
spec:
rules:
- host: website
http:
paths:
- path: /
backend:
serviceName: website
servicePort: 80

33
traefik/arm/k8s.rc.yaml Normal file
View File

@ -0,0 +1,33 @@
apiVersion: v1
kind: ReplicationController
metadata:
name: traefik-ingress-controller
labels:
k8s-app: traefik-ingress-lb
spec:
replicas: 1
selector:
k8s-app: traefik-ingress-lb
template:
metadata:
labels:
k8s-app: traefik-ingress-lb
name: traefik-ingress-lb
spec:
terminationGracePeriodSeconds: 60
containers:
- image: easypi/traefik-arm
name: traefik-ingress-lb
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
hostPort: 80
- containerPort: 443
hostPort: 443
- containerPort: 8080
args:
- --web
- --kubernetes
- --logLevel=DEBUG
nodeSelector:
kubernetes.io/hostname: 192.168.31.231

BIN
traefik/arm/traefik Executable file

Binary file not shown.