Comments (13)
@julianvmodesto , just to clarify one thing, with 1.5.6, you only need to add
ingress.appscode.com/keep-source-ip: true
annotation to ingress. Voyager operator will automatically add "service.beta.kubernetes.io/aws-load-balancer-proxy-protocol": "*"
annotation to service and enable PROXY protocol in HAPRoxy for "aws" provider.
from voyager.
Seems like this is simply adding the annotation when CLOUD_PROVIDER = 'aws' into the Service template?
Or allow for custom annotations for the Voyager Service within the Ingress.
serviceAnnotations:
- "service.beta.kubernetes.io/aws-load-balancer-proxy-protocol": "*"
- "prometheus.io/scrape": "true"
- "prometheus.io/port": "8090"
from voyager.
@julianvmodesto, I have filed a new issue to track the work for custom annotation #103 .
One question I have, are you using CoreOS' prometheus operator to setup your exporter? We are considering running a side car container with the HAproxy to expose its metrics. I would like to hear how you see this work.
from voyager.
The full suite of annotations available in 1.5.x are:
https://github.com/kubernetes/kubernetes/blob/release-1.5/pkg/cloudprovider/providers/aws/aws.go#L79
from voyager.
As @sadlil mentioned in #103 (comment), users will be able to provide custom annotations as they see fit with 1.5.5 release.
We are going to cut a release early next week.
from voyager.
@tamalsaha appreciate your help here, love your project and looking forward to 1.5.5.
Re: prometheus, the sidecar for haproxy stats looks like a pretty good solution to me.
from voyager.
@tamalsaha I added the annotation below to a new Ingress, and the annotation exists for the new Ingress!
ingress.appscode.com/annotations.service: '{"service.beta.kubernetes.io/aws-load-balancer-proxy-protocol": "*"}'
Two issues, though:
- updating an existing Ingress with the above annotation doesn't cause an update to the service by the controller
- actually enabling the AWS Proxy Protocol seems to cause HAProxy 400s. I tested by removing and re-adding the
service.beta.kubernetes.io/aws-load-balancer-proxy-protocol
annotation from the Voyager service
from voyager.
We are going to look into that and get back to you.
from voyager.
Ack, sorry, regarding the second issue I have w/ 400s, I think I just need to figure out how to configure HAProxy to accept the Proxy Protocol.
from voyager.
How would I be able to attach accept-proxy
to the bind
below? I think this is needed for accepting the Proxy Protocol from the AWS ELB.
frontend http-frontend
bind *:80 accept-proxy
I manually edited the configmap with the above, and this solved the issue with the 400s.
Maybe there should be a way to add modifiers to the bind
directive?
from voyager.
You can't add options to the bind https://github.com/appscode/voyager/blob/master/pkg/controller/ingress/template/template.go#L140..
We are going to push a new update this fixed this week. @sadlil , I found some more docs here: https://jve.linuxwall.info/ressources/taf/haproxy-aws/
from voyager.
Great, thanks in advance Tamal!
from voyager.
Created #115.
from voyager.
Related Issues (20)
- Development guide is out of date
- Add support for LBType LoadBalancer for Yandex Cloud Provider
- The Server Could not find the requested Resource HOT 3
- Deprecation Alert: Cloud_Provider: Openstack to external HOT 1
- Cannot deploy Ingress Server anymore on AKS cluster on version 1.18.8 HOT 2
- Voyager unable to update haproxy.cfg - must have at most 1048576 characters HOT 1
- extensions/v1beta1 Ingress is deprecated HOT 1
- Upgrade from v12.0.0-rc.1 to v12.0.0.0 return error
- Prometheus Monitoring causes panic "invalid memory address or nil pointer dereference" HOT 7
- Deployment and Service not being creating HOT 1
- Rate limiting return 'Forbidden' (403) instead of 'Too Many Requests' (429)
- Unable to use Voyager sticky session (chart version 12.0.0/app version 12.0.0) for jnlp applets HOT 2
- creating voyager ingress on k8s version 1.20 is failing HOT 8
- Is it possible to create UDP rule for AWS load balancers?
- stats pod not being created on EKS cluster 1.19 with v12.0.0 HOT 2
- kubelet Error: ImagePullBackOff HOT 3
- Does Voyager support circuit breaker pattern and api response encryption?
- kubelet Error: ImagePullBackOff HOT 2
- Skip running preview-website workflow in forks with credentials
- Voyager -v11.0.0 the server could not find the requested resource HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from voyager.