Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update EKS Ingress and Instructions #825

Merged
merged 6 commits into from
Mar 15, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
178 changes: 175 additions & 3 deletions deployment/eks/flyte_generated.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9021,9 +9021,6 @@ apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/tags: service_instance=production
kubernetes.io/ingress.class: alb
nginx.ingress.kubernetes.io/ssl-redirect: "false"
name: flytesystem
namespace: flyte
Expand Down Expand Up @@ -9059,3 +9056,178 @@ spec:
serviceName: flyteadmin
servicePort: 87
path: /openapi
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:590375264460:certificate/e2f04275-2dff-4118-a493-ed3ec8f41605
alb.ingress.kubernetes.io/group.name: flytesystem
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/tags: service_instance=production
kubernetes.io/ingress.class: alb
labels:
app: flyteadmin
name: flytesystem
namespace: flyte
spec:
rules:
- http:
paths:
- backend:
service:
name: ssl-redirect
port:
name: use-annotation
path: /*
pathType: ImplementationSpecific
- backend:
service:
name: flyteconsole
port:
number: 80
path: /console
pathType: ImplementationSpecific
- backend:
service:
name: flyteconsole
port:
number: 80
path: /console/*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /api/*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /healthcheck
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /v1/*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /openapi/*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /.well-known/*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /login
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /login/*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /logout
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /logout/*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /callback
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /callback/*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /me
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /config
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 80
path: /config/*
pathType: ImplementationSpecific
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
alb.ingress.kubernetes.io/backend-protocol-version: GRPC
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:590375264460:certificate/e2f04275-2dff-4118-a493-ed3ec8f41605
alb.ingress.kubernetes.io/group.name: flytesystem
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/tags: service_instance=production
kubernetes.io/ingress.class: alb
nginx.ingress.kubernetes.io/ssl-redirect: "false"
labels:
app: flyteadmin
name: flytesystem-grpc
namespace: flyte
spec:
rules:
- http:
paths:
- backend:
service:
name: ssl-redirect
port:
name: ssl-redirect
path: /*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 81
path: /flyteidl.service.AdminService/*
pathType: ImplementationSpecific
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# :construction: Instructions to deploy ALB Ingress controller

Follow instructions here to install ALB Ingress Controller: https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html

Replace `alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:590375264460:certificate/e2f04275-2dff-4118-a493-ed3ec8f41605` in ingress.yaml and ingress_grpc.yaml with your own SSL cert (that you will create by following ALB Instructions above)
140 changes: 140 additions & 0 deletions kustomize/overlays/eks/flyte/dependencies/alb_ingress/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: flytesystem
EngHabu marked this conversation as resolved.
Show resolved Hide resolved
namespace: flyte
annotations:
# TODO ALB can only be used for REST non grpc endpoints
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/tags: service_instance=production
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:590375264460:certificate/e2f04275-2dff-4118-a493-ed3ec8f41605
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
alb.ingress.kubernetes.io/group.name: flytesystem
labels:
app: flyteadmin
spec:
rules:
- http:
paths:
- path: /*
pathType: ImplementationSpecific
backend:
service:
name: ssl-redirect
port:
name: use-annotation
- path: /console
pathType: ImplementationSpecific
backend:
service:
name: flyteconsole
port:
number: 80
- path: /console/*
pathType: ImplementationSpecific
backend:
service:
name: flyteconsole
port:
number: 80
- path: /api/*
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /healthcheck
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /v1/*
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
# Port 87 in FlyteAdmin maps to the redoc container.
- path: /openapi/*
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /.well-known/*
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /login
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /login/*
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /logout
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /logout/*
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /callback
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /callback/*
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /me
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /config
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
- path: /config/*
pathType: ImplementationSpecific
backend:
service:
name: flyteadmin
port:
number: 80
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
alb.ingress.kubernetes.io/backend-protocol-version: GRPC
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-2:590375264460:certificate/e2f04275-2dff-4118-a493-ed3ec8f41605
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
EngHabu marked this conversation as resolved.
Show resolved Hide resolved
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/tags: service_instance=production
kubernetes.io/ingress.class: alb
nginx.ingress.kubernetes.io/ssl-redirect: "false"
alb.ingress.kubernetes.io/group.name: flytesystem
labels:
app: flyteadmin
name: flytesystem-grpc
namespace: flyte
spec:
rules:
- http:
paths:
- backend:
EngHabu marked this conversation as resolved.
Show resolved Hide resolved
service:
name: ssl-redirect
port:
name: ssl-redirect
path: /*
pathType: ImplementationSpecific
- backend:
service:
name: flyteadmin
port:
number: 81
path: /flyteidl.service.AdminService/*
pathType: ImplementationSpecific
2 changes: 1 addition & 1 deletion kustomize/overlays/eks/flyte/ingress/ingress.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: extensions/v1beta1
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: flytesystem
Expand Down
Loading