You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/openstack-cloud-controller-manager/expose-applications-using-loadbalancer-type-service.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -132,7 +132,9 @@ Request Body:
132
132
133
133
-`loadbalancer.openstack.org/x-forwarded-for`
134
134
135
-
If 'true', `X-Forwarded-For` is inserted into the HTTP headers which contains the original client IP address so that the backend HTTP service is able to get the real source IP of the request. Only applies when using Octavia.
135
+
If 'true', `X-Forwarded-For` is inserted into the HTTP headers which contains the original client IP address so that the backend HTTP service is able to get the real source IP of the request. Please note that the cloud provider will force the creation of an Octavia listener of type `HTTP` if this option is set. Only applies when using Octavia.
136
+
137
+
This annotation also works in conjunction with the `loadbalancer.openstack.org/default-tls-container-ref` annotation. In this case the cloud provider will create an Octavia listener of type `TERMINATED_HTTPS` instead of an `HTTP` listener.
136
138
137
139
-`loadbalancer.openstack.org/timeout-client-data`
138
140
@@ -166,6 +168,11 @@ Request Body:
166
168
167
169
The name of the loadbalancer availability zone to use. It is ignored if the Octavia version doesn't support availability zones yet.
Reference to a tls container. This option works with Octavia, when this option is set then the cloud provider will create an Octavia Listener of type `TERMINATED_HTTPS` for a TLS Terminated loadbalancer.
174
+
Format for tls container ref: `https://{keymanager_host}/v1/containers/{uuid}`
175
+
169
176
### Switching between Floating Subnets by using preconfigured Classes
170
177
171
178
If you have multiple `FloatingIPPools` and/or `FloatingIPSubnets` it might be desirable to offer the user logical meanings for `LoadBalancers` like `internetFacing` or `DMZ` instead of requiring the user to select a dedicated network or subnet ID at the service object level as an annotation.
Copy file name to clipboardExpand all lines: docs/openstack-cloud-controller-manager/using-openstack-cloud-controller-manager.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -244,6 +244,11 @@ Although the openstack-cloud-controller-manager was initially implemented with N
244
244
245
245
This option is currently a workaround for the issue https://github.com/kubernetes/ingress-nginx/issues/3996, should be removed or refactored after the Kubernetes [KEP-1860](https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/1860-kube-proxy-IP-node-binding) is implemented.
246
246
247
+
* `default-tls-container-ref`
248
+
Reference to a tls container. This option works with Octavia, when this option is set then the cloud provider will create an Octavia Listener of type TERMINATED_HTTPS for a TLS Terminated loadbalancer.
249
+
250
+
Format for tls container ref: `https://{keymanager_host}/v1/containers/{uuid}`
klog.V(4).Infof("Forcing to use %q protocol for pool because annotations %q %q are set", v2pools.ProtocolHTTP, ServiceAnnotationLoadBalancerXForwardedFor, ServiceAnnotationTlsContainerRef)
1396
+
} elseifsvcConf.keepClientIP {
1397
+
klog.V(4).Infof("Forcing to use %q protocol for pool because annotation %q is set", v2pools.ProtocolHTTP, ServiceAnnotationLoadBalancerXForwardedFor)
1398
+
} else {
1399
+
klog.V(4).Infof("Forcing to use %q protocol for pool because annotations %q is set", v2pools.ProtocolHTTP, ServiceAnnotationTlsContainerRef)
klog.V(4).Infof("Forcing to use %q protocol for listener because %q annotation is set", listeners.ProtocolHTTP, ServiceAnnotationLoadBalancerXForwardedFor)
klog.V(4).Infof("Forcing to use %q protocol for listener because %q annotation is set", listeners.ProtocolTerminatedHTTPS, ServiceAnnotationTlsContainerRef)
klog.V(4).Infof("Forcing to use %q protocol for listener because %q annotation is set", listeners.ProtocolHTTP, ServiceAnnotationLoadBalancerXForwardedFor)
// LoadBalancer is used for creating and maintaining load balancers
86
86
typeLoadBalancerstruct {
87
+
secret*gophercloud.ServiceClient
87
88
network*gophercloud.ServiceClient
88
89
compute*gophercloud.ServiceClient
89
90
lb*gophercloud.ServiceClient
@@ -113,7 +114,8 @@ type LoadBalancerOpts struct {
113
114
CascadeDeletebool`gcfg:"cascade-delete"`// applicable only if use-octavia is set to True
114
115
FlavorIDstring`gcfg:"flavor-id"`
115
116
AvailabilityZonestring`gcfg:"availability-zone"`
116
-
EnableIngressHostnamebool`gcfg:"enable-ingress-hostname"`// Used with proxy protocol by adding a dns suffix to the load balancer IP address. Default false.
117
+
EnableIngressHostnamebool`gcfg:"enable-ingress-hostname"`// Used with proxy protocol by adding a dns suffix to the load balancer IP address. Default false.
118
+
TlsContainerRefstring`gcfg:"default-tls-container-ref"`// reference to a tls container
117
119
}
118
120
119
121
// LBClass defines the corresponding floating network, floating subnet or internal subnet ID
0 commit comments