KO
|
EN
gitlite — search
Search
#python
#deep-learning
#nodejs
#react
#python3
#pytorch
#javascript
#wordpress
#mysql
#php
#machine-learning
#lstm
romulus
★ 103
Open GitHub ↗
A kubernetes ingress controller
Download README (.md)
Explore Similar Repositories
Sherlock
:
Sherlock reports any crash that occurs in your application
CoreAudio
:
Windows CoreAudio wrapper for .NET
diamondb
:
[WIP] DiamonDB: Rebuild of time series database on AWS.
pathfinding
:
Java pathfinding framework.
finch-rs
:
A genomic minhashing implementation in Rust
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
romulus
?
Download (.md)
# romulusd [](https://godoc.org/github.com/timelinelabs/romulus) Automagically register your kubernetes services in a loadbalancing proxy! Supported loadbalancers: [vulcand](http://vulcand.github.io/), [traefik](http://traefik.github.io/) Romulus works as an ingress controller in kubernetes. It listens for Ingress or Service additions / updates and registers the connected Endpoints in your backend loadbalancer provider. If you don't want to / can't use Ingress (because you're running an older kubernetes) then you can control resource routes with annotations in your Services. ## Usage ``` usage: romulusd [<flags>] A kubernetes ingress controller Flags: --help Show context-sensitive help (also try --help-long and --help-man). -k, --kube-api=http://127.0.0.1:8080 URL for kubernetes api --kube-api-ver="v1" kubernetes api version --kube-user=KUBE-USER kubernetes username --kube-pass=KUBE-PASS kubernetes password --kube-insecure Run kubernetes client in insecure mode -s, --selector=label=value label selectors. Leave blank for Everything(). Form: key=value -a, --annotations-prefix="romulus/" annotations key prefix -p, --provider=vulcand LoadBalancer provider --sync-interval=1h Resync period with kube api --lb-timeout=10s Timeout for communicating with loadbalancer provider --vulcan-api=http://127.0.0.1:8182 URL for vulcand api --traefik-etcd=TRAEFIK-ETCD etcd peers for traefik -l, --log-level=info log level. One of: fatal, error, warn, info, debug ``` If you are using Ingress, create your things as follows (assuming you set `--selector=route=public`): ```yaml apiVersion: extensions/v1beta1 kind: Ingress metadata: name: api-v1 namespace: myapp labels: romulus/route: public spec: rules: - host: www.example.com paths: - path: /v1 backend: serviceName: microservice-v1 servicePort: api --- apiVersion: v1 kind: Service metadata: name: microservice-v1 namespace: myapp labels: romulus/route: public spec: selector: app: myapi version: v1 ports: - name: api port: 80 targetPort: http protocol: TCP ``` If you do not use Ingresses: ```yaml apiVersion: v1 kind: Service metadata: name: blog namespace: myblog annotations: romulus/host: 'www.example.com' romulus/prefix: '/blog' romulus/pass_host_header: true romulus/trust_forward_headers: true labels: romulus/route: public spec: selector: app: blog ports: - name: web port: 80 targetPort: http protocol: TCP ``` When you create these things, Romulus will turn around and upsert routes to the resulting Endpoints in your loadbalancer provider! See [the docs](https://github.com/timelinelabs/romulus/wiki) and [the examples](./examples) for more info