Cody Maloney
de34de4495
WIP/DEMO https://github.com/lyft/envoy ingress controller for kubernetes
...
A kubernetes ingress controller which uses an instance of lyft/envoy as the load
balancer. The goal here is to get good http2 support, which includes grpc
forwarding. Envoy can also do basic tcp load balancing, although that isn't
implemented in this controller currently.
Quite a bit isn't supported currently, but it does function for basic
application usage.
There are a couple pieces. The root is the controller (controller.go) which
recieves kubernetes ingress controller updates and turns them into the structure
needed for envoy. That is then passed to the DiscovyerService (discovery.go)
which presents the information in the lyft/envoy discovery endpoints
(LDS, RDS, SDS, CDS). The third and final pieces is a process manager for envoy
itself which manages configuring and running the lyft/envoy instance.
Every piece is setup so that it'll only start serving / listening once basic
routes are setup and in place (so in theory if you add another instance to a
cluster you don't hit an "empty" envoy and get a bunch of 404 errors)
The need for `DiscoveryService` http service should be going away, as the envoy
v2 api gets implemented (https://github.com/lyft/envoy-api#apis ). In specific,
the ingress controller would implement an "Aggregated Discovery Service (ADS)".
That would mean the ingress controller could push updates directly to lyft/envoy
using gRPC, minimizing update time.
My general question is if there's interest in moving this towards a proper
kubernetes/ingress controller, and if so, what is the process to do so?
This works for my basic cases. There are definitely many more of the cases
that could be implemented (And many more config options which should be
controllable via the ingresses themselves). Things like TCP services can also
be implemented, just not a feature I'd needed.
2017-08-31 22:14:11 -07:00
Nick Sardo
cda42f93c7
Merge pull request #1282 from aledbf/fix-stats
...
Fix nginx stats
2017-08-31 11:33:06 -07:00
Manuel de Brito Fontes
a5432bf3a0
Fix listen error in aws
2017-08-31 14:28:20 -03:00
Manuel de Brito Fontes
57a18d11bd
Fix nginx stats
2017-08-31 14:19:32 -03:00
Manuel Alejandro de Brito Fontes
abc53ccfc5
Merge pull request #1277 from danielqsj/add-indent
...
Add indent for nginx.conf
2017-08-31 07:39:51 -04:00
Manuel Alejandro de Brito Fontes
528b378bea
Merge pull request #1276 from jcmoraisjr/jm-link-rbac
...
Link rbac sample from deployment docs
2017-08-31 07:39:04 -04:00
danielqsj
e9a14cbe97
Add indent for nginx.conf
2017-08-31 17:10:12 +08:00
Joao Morais
1a285dd9e8
Link rbac sample from deployment docs
2017-08-30 22:06:38 -03:00
Manuel Alejandro de Brito Fontes
ae44d8ec05
Merge pull request #1275 from jcmoraisjr/jm-haproxy-rbac
...
HAProxy Ingress RBAC sample
2017-08-30 20:51:27 -04:00
Joao Morais
b1980c8fbd
HAProxy Ingress RBAC sample
2017-08-30 21:24:04 -03:00
Manuel Alejandro de Brito Fontes
58c94d40e4
Merge pull request #1272 from danielqsj/delete-useless-statement
...
Delete useless statement
2017-08-30 18:04:35 -04:00
Nick Sardo
eca88e4f24
Merge pull request #1266 from aledbf/b12-a3
...
Release nginx ingress controller 0.9.0-beta.12
2017-08-30 12:56:11 -07:00
Manuel Alejandro de Brito Fontes
2d7f6c5da0
Merge pull request #1270 from harryge00/add-yaml-to-nginx-controller
...
add missing yamls in controllers/nginx
2017-08-30 07:11:33 -04:00
danielqsj
493aede7fe
Delete useless statement
2017-08-30 17:03:50 +08:00
harryge00
6dd1b0b129
add missing yamls in controllers/nginx
2017-08-30 16:21:20 +08:00
Manuel de Brito Fontes
9807b691b7
Release nginx ingress controller 0.9.0-beta.12
2017-08-29 17:28:50 -03:00
Manuel Alejandro de Brito Fontes
2d6f811151
Merge pull request #1265 from aledbf/improve-logs
...
Improve logs
2017-08-29 16:14:31 -04:00
Manuel de Brito Fontes
e65d3c7571
Improve logs
2017-08-29 16:40:03 -03:00
Manuel Alejandro de Brito Fontes
35f6255755
Merge pull request #1264 from aledbf/fix-deps
...
Fix dependencies issues
2017-08-29 15:35:57 -04:00
Manuel de Brito Fontes
1a37256fbc
Fix dependencies issues
2017-08-29 16:34:54 -03:00
Manuel Alejandro de Brito Fontes
d4e86fe379
Merge pull request #1257 from maxlaverse/graceful_shutdown
...
Graceful shutdown for Nginx
2017-08-29 15:29:50 -04:00
Max Laverse
73d8ddd3d1
Graceful shutdown for Nginx
2017-08-29 20:47:55 +02:00
Manuel Alejandro de Brito Fontes
3fd8abe32d
Merge pull request #1261 from maxlaverse/worker_shutdown_timeout
...
Add support for 'worker-shutdown-timeout'
2017-08-29 08:20:08 -04:00
Max Laverse
d9e7d1eabc
Add support for 'worker-shutdown-timeout'
2017-08-29 11:55:59 +02:00
Manuel Alejandro de Brito Fontes
7844415cff
Merge pull request #1259 from jcmoraisjr/jm-ns-var-haproxy
...
Add namespace var to HAProxy deployments
2017-08-28 21:14:20 -04:00
Nick Sardo
3e8bc53443
Merge pull request #1181 from freehan/shared-informer
...
switch to use shared informer
2017-08-28 16:50:05 -07:00
Joao Morais
46865d010b
Add namespace var to HAProxy deployments
2017-08-28 20:06:03 -03:00
Manuel Alejandro de Brito Fontes
a8bfdc2427
Merge pull request #1250 from aledbf/server-version
...
Add server information to controller startup
2017-08-28 13:59:37 -04:00
Manuel de Brito Fontes
6c5ee050d1
Add server information to controller startup
2017-08-28 14:32:36 -03:00
Manuel Alejandro de Brito Fontes
d6efc293c4
Merge pull request #1254 from hzxuzhonghu/master
...
fix Type transform panic
2017-08-28 07:28:39 -04:00
hzxuzhonghu
af6a7f6d17
fix Type transform panic
2017-08-28 14:49:13 +08:00
Manuel Alejandro de Brito Fontes
69c89ccfdd
Merge pull request #1251 from jcmoraisjr/jm-haproxy-ingress-class
...
Add ingress.class support to HAProxy Ingress
2017-08-27 20:57:14 -04:00
Joao Morais
4b73cc6d0c
Add ingress.class support to HAProxy Ingress
2017-08-27 21:48:02 -03:00
Manuel Alejandro de Brito Fontes
9e7c542519
Merge pull request #1248 from aledbf/pprof
...
Improve nginx controller performance
2017-08-26 08:56:06 -04:00
Manuel Alejandro de Brito Fontes
80ff5e6ce8
Merge pull request #1247 from aledbf/add-metadata
...
Make Ingress annotations available in template
2017-08-26 08:55:37 -04:00
Manuel de Brito Fontes
fabe37bfe5
Improve nginx controller performance
2017-08-26 00:49:57 -03:00
Manuel de Brito Fontes
edcc3dfc81
Make Ingress annotations available in template
2017-08-25 22:39:30 -03:00
Manuel Alejandro de Brito Fontes
6d0243a040
Merge pull request #1246 from aledbf/additional-headers
...
Add additional headers when custom default backend is used
2017-08-25 20:45:09 -04:00
Manuel de Brito Fontes
a85cfd10b5
Add additional headers when custom default backend is used
2017-08-25 20:56:08 -03:00
Manuel Alejandro de Brito Fontes
b791460206
Merge pull request #1244 from aledbf/add-custom-backend-annotation
...
Add custom default backend annotation
2017-08-25 15:15:17 -04:00
Manuel de Brito Fontes
bf12e793f6
Add custom backend annotation
2017-08-25 15:49:52 -03:00
Manuel Alejandro de Brito Fontes
0a6f39650f
Merge pull request #697 from lead4good/master
...
Adding support for externalIP Services
2017-08-25 12:09:46 -04:00
Manuel Alejandro de Brito Fontes
d2546d0291
Merge pull request #1212 from danielqsj/bind-address
...
Add option to specify addresses on which the server will accept
2017-08-25 12:05:52 -04:00
Manuel Alejandro de Brito Fontes
3499524282
Merge pull request #1243 from maxlaverse/custom_access_log_path
...
Add support for access-log-path and error-log-path
2017-08-25 08:29:06 -04:00
Max Laverse
dd00b6d7b3
Add support for access-log-path and error-log-path
2017-08-25 14:03:09 +02:00
danielqsj
06f237c66d
Add options to bind address
2017-08-25 10:24:32 +08:00
Minhan Xia
aa333708f2
move gce cloud provider initialization to main
2017-08-24 17:10:58 -07:00
Minhan Xia
3839faf536
switch to use shared informer
2017-08-24 17:10:51 -07:00
Manuel Alejandro de Brito Fontes
e7d2ff6fac
Merge pull request #1239 from aledbf/pc
...
Add flags to customize listen ports and detect port collisions
2017-08-24 10:23:59 -04:00
Manuel de Brito Fontes
0459674931
Add flags to customize listen ports and detect port collisions
2017-08-24 10:56:08 -03:00