Skip to content

Commit 16424c4

Browse files
Merge pull request #13 from Dohbedoh/DOCS-1199
[DOCS-1199] Add examples for EKS ingress
2 parents 48fe7da + 30eac94 commit 16424c4

File tree

4 files changed

+137
-0
lines changed

4 files changed

+137
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# A helm example values file for an AWS install with nginx-ingress controller and ELB layer 4
2+
# Install an nginx-ingress controller
3+
nginx-ingress:
4+
Enabled: true
5+
rbac:
6+
create: true
7+
controller:
8+
ingressClass: "nginx"
9+
config:
10+
use-proxy-protocol: "true"
11+
service:
12+
targetPorts:
13+
http: http
14+
annotations:
15+
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "tcp"
16+
service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
17+
# Ensure the ELB idle timeout is less than nginx keep-alive timeout. By default,
18+
# NGINX keep-alive is set to 75s. If using WebSockets, the value will need to be
19+
# increased to '3600' to avoid any potential issues.
20+
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"
21+
externalTrafficPolicy: "Local"
22+
OperationsCenter:
23+
# Set the platform to aws, so that ELBs are created
24+
platform: 'aws'
25+
# Set the HostName for the Operation Center
26+
HostName: 'cloudbees-core.example.com'
27+
# Setting ServiceType to ClusterIP creates ingress
28+
ServiceType: ClusterIP
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# A helm example values file for an AWS install with nginx-ingress controller, TLS termination at ELB layer 4 and JNLP external communication enabled.
2+
# Install an nginx-ingress controller
3+
nginx-ingress:
4+
Enabled: true
5+
rbac:
6+
create: true
7+
controller:
8+
ingressClass: "nginx"
9+
config:
10+
use-proxy-protocol: "true"
11+
http-snippet: |
12+
map '' $pass_access_scheme {
13+
default https;
14+
}
15+
map '' $pass_port {
16+
default 443;
17+
}
18+
server {
19+
listen 8080 proxy_protocol;
20+
return 301 https://$host$request_uri;
21+
}
22+
service:
23+
targetPorts:
24+
# 8080 used for redirection
25+
http: 8080
26+
https: http
27+
annotations:
28+
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "tcp"
29+
service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
30+
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
31+
# The ARN reference 'arn:aws:acm:us-west-2:XXXXXXXX:certificate/XXXXXX-XXXXXXX-XXXXXXX-XXXXXXXX' must be replaced by the actual ARN of the
32+
# ACM certificate used to do the TLS termination.
33+
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-1:XXXXXXXX:certificate/XXXXXX-XXXXXXX-XXXXXXX-XXXXXXXX"
34+
service.beta.kubernetes.io/aws-load-balancer-ssl-negotiation-policy: "ELBSecurityPolicy-TLS-1-2-2017-01"
35+
# Increase the connection idle timeout for external communication (should be greater than the Ping Thread)
36+
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: '3600'
37+
externalTrafficPolicy: "Local"
38+
# Allow external communication to the Operations Center through JNLP
39+
tcp:
40+
50000: "{{ .Release.Namespace }}/cjoc:50000:PROXY"
41+
OperationsCenter:
42+
# Set the platform to aws, so that ELBs are created
43+
platform: 'aws'
44+
# Set the HostName for the Operation Center
45+
HostName: 'cloudbees-core.example.com'
46+
# Setting ServiceType to ClusterIP creates ingress
47+
ServiceType: ClusterIP
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# A helm example values file for an AWS install with nginx-ingress controller and ELB layer 7
2+
# Install an nginx-ingress controller
3+
nginx-ingress:
4+
Enabled: true
5+
rbac:
6+
create: true
7+
controller:
8+
ingressClass: "nginx"
9+
config:
10+
use-proxy-protocol: "false"
11+
use-forwarded-headers: "true"
12+
proxy-real-ip-cidr: "0.0.0.0/0" # restrict this to the IP addresses of ELB (or VPC / subnet CIDR)
13+
service:
14+
targetPorts:
15+
http: http
16+
annotations:
17+
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http"
18+
# Ensure the ELB idle timeout is less than nginx keep-alive timeout. By default,
19+
# NGINX keep-alive is set to 75s. If using WebSockets, the value will need to be
20+
# increased to '3600' to avoid any potential issues.
21+
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"
22+
OperationsCenter:
23+
# Set the platform to aws, so that ELBs are created
24+
platform: 'aws'
25+
# Set the HostName for the Operation Center
26+
HostName: 'cloudbees-core.example.com'
27+
# Setting ServiceType to ClusterIP creates ingress
28+
ServiceType: ClusterIP
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# A helm example values file for an AWS install with nginx-ingress controller, TLS termination at ELB layer 7 and JNLP external communication enabled.
2+
# Install an nginx-ingress controller
3+
nginx-ingress:
4+
Enabled: true
5+
rbac:
6+
create: true
7+
controller:
8+
ingressClass: "nginx"
9+
config:
10+
use-proxy-protocol: "false"
11+
use-forwarded-headers: "true"
12+
proxy-real-ip-cidr: "0.0.0.0/0" # restrict this to the IP addresses of ELB (or VPC / subnet CIDR)
13+
service:
14+
targetPorts:
15+
http: http
16+
https: http
17+
annotations:
18+
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http"
19+
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
20+
# The ARN reference 'arn:aws:acm:us-west-2:XXXXXXXX:certificate/XXXXXX-XXXXXXX-XXXXXXX-XXXXXXXX' must be replaced by the actual ARN of the
21+
# ACM certificate used to do the TLS termination.
22+
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-1:XXXXXXXX:certificate/XXXXXX-XXXXXXX-XXXXXXX-XXXXXXXX"
23+
service.beta.kubernetes.io/aws-load-balancer-ssl-negotiation-policy: "ELBSecurityPolicy-TLS-1-2-2017-01"
24+
OperationsCenter:
25+
# Set the platform to aws, so that ELBs are created
26+
platform: 'aws'
27+
# Set the HostName for the Operation Center
28+
HostName: 'cloudbees-core.example.com'
29+
# Setting ServiceType to ClusterIP creates ingress
30+
ServiceType: ClusterIP
31+
# Set Ingress annotation for redirection
32+
Ingress:
33+
Annotations:
34+
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"

0 commit comments

Comments
 (0)