added proxyprotocol options
This commit is contained in:
parent
d130ea4e2b
commit
5de98614da
4 changed files with 23 additions and 19 deletions
10
TODO
10
TODO
|
|
@ -1,7 +1,5 @@
|
||||||
test etcd
|
VIP for haproxy-lb
|
||||||
* user/password
|
* take from pool?
|
||||||
* multi node
|
* extra config?
|
||||||
|
|
||||||
usr arp lib https://godoc.org/github.com/mdlayher/arp ?
|
test api in followers
|
||||||
* https://github.com/metallb/metallb/blob/main/internal/layer2/arp.go#L50
|
|
||||||
add google copyright to arp ocde?
|
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,11 @@ type LoadBalancer struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Options struct {
|
type Options struct {
|
||||||
Frontend []string `json:"frontend,omitempty"`
|
Frontend []string `json:"frontend,omitempty"`
|
||||||
Backend []string `json:"backend,omitempty"`
|
Backend []string `json:"backend,omitempty"`
|
||||||
DefaultServer string `json:"defaultServer,omitempty`
|
ProxyProtocol string `json:"proxyProtocol,omitempty"`
|
||||||
|
CheckProxyProtocol bool `json:"checkProxyProtocol,omitempty"`
|
||||||
|
DefaultServer string `json:"defaultServer,omitempty`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Port struct {
|
type Port struct {
|
||||||
|
|
|
||||||
|
|
@ -26,9 +26,11 @@ type LoadBalancer struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Options struct {
|
type Options struct {
|
||||||
Frontend []string `json:"frontend"`
|
Frontend []string `json:"frontend"`
|
||||||
Backend []string `json:"backend"`
|
Backend []string `json:"backend"`
|
||||||
DefaultServer string `json:"defaultServer"`
|
ProxyProtocol string `json:"proxyProtocol"`
|
||||||
|
CheckProxyProtocol bool `json:"checkProxyProtocol"`
|
||||||
|
DefaultServer string `json:"defaultServer"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Port struct {
|
type Port struct {
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package haproxy
|
||||||
|
|
||||||
const haproxyConfigTemplate = `global
|
const haproxyConfigTemplate = `global
|
||||||
daemon
|
daemon
|
||||||
|
# TODO
|
||||||
#chroot /var/lib/haproxy
|
#chroot /var/lib/haproxy
|
||||||
chroot /usr/share/haproxy
|
chroot /usr/share/haproxy
|
||||||
pidfile /run/haproxy.pid
|
pidfile /run/haproxy.pid
|
||||||
|
|
@ -31,20 +32,21 @@ frontend fr_{{ $item.Name }}_{{ $port.Port }}
|
||||||
{{- range $opt := $item.Options.Frontend }}
|
{{- range $opt := $item.Options.Frontend }}
|
||||||
option {{ $opt }}
|
option {{ $opt }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
# option tcplog
|
|
||||||
# option splice-request
|
|
||||||
default_backend ba_{{ $item.Name }}_{{ $port.Port }}
|
default_backend ba_{{ $item.Name }}_{{ $port.Port }}
|
||||||
backend ba_{{ $item.Name }}_{{ $port.Port }}
|
backend ba_{{ $item.Name }}_{{ $port.Port }}
|
||||||
balance roundrobin
|
balance roundrobin
|
||||||
{{- range $opt := $item.Options.Backend }}
|
{{- range $opt := $item.Options.Backend }}
|
||||||
option {{ $opt }}
|
option {{ $opt }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
# option splice-response
|
|
||||||
# option httpchk GET /
|
|
||||||
default-server inter 3s downinter 10s fall 2 rise 2 on-marked-down shutdown-sessions {{ $item.Options.DefaultServer }}
|
default-server inter 3s downinter 10s fall 2 rise 2 on-marked-down shutdown-sessions {{ $item.Options.DefaultServer }}
|
||||||
# send-proxy-v2
|
{{- if eq $item.Options.ProxyProtocol "v1" }}
|
||||||
# check-send-proxy
|
send-proxy
|
||||||
# port <healthCheckNodePort>
|
{{- else if eq $item.Options.ProxyProtocol "v2" }}
|
||||||
|
send-proxy-v2
|
||||||
|
{{- end }}
|
||||||
|
{{- if $item.Options.CheckProxyProtocol }}
|
||||||
|
check-send-proxy
|
||||||
|
{{- end }}
|
||||||
{{- range $srv := $port.Servers }}
|
{{- range $srv := $port.Servers }}
|
||||||
server {{ $srv.Name }} {{ $srv.IP }}:{{ $srv.Port }} check
|
server {{ $srv.Name }} {{ $srv.IP }}:{{ $srv.Port }} check
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue