mozmeao / infra

Mozilla Marketing Engineering and Operations Infrastructure
https://mozilla.github.io/meao/
Mozilla Public License 2.0
59 stars 12 forks source link

Ingress controller evaluation #187

Closed jgmize closed 6 years ago

jgmize commented 7 years ago
jgmize commented 7 years ago

https://medium.com/@cashisclay/kubernetes-ingress-82aa960f658e

bookshelfdave commented 7 years ago
jgmize commented 6 years ago

Blocks #448

jgmize commented 6 years ago

https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer

bookshelfdave commented 6 years ago

https://www.getambassador.io/

bookshelfdave commented 6 years ago

See https://github.com/mozmeao/infra-private/pull/132

bookshelfdave commented 6 years ago

https://github.com/appscode/voyager

bookshelfdave commented 6 years ago

The Problem

Bedrock currently uses a git-push based method for deploying demo branches to dynamic subdomains of moz.works with TLS support. For example, pushing a git branch named demo/feature would create a demo instance with the following URL: https://bedrock-demo-feature.us-west.moz.works/.

This feature is provided by the Deis Workflow router, which is now officially unsupported. To replace the functionality that Deis Workflow provides, we need a custom Kubernetes Ingress that can route traffic from a dynamic domain name to a Kubernetes deployment with TLS. Our evaluation has been primarily performed in GCP with GKE.

We'd also like to gain experience using Kubernetes Ingress and learn how it can help solve some of our infrastructure problems.

Requirements

In our evaluation, we looked for the following features:

Evaluation

This section contains notes on products that were evaluated:

Recommendation

Voyager was the easier product to setup that met all of our requirements. A wildcard certificate per ingress seems to be the easiest way to dynamically host bedrock demo instances.

bookshelfdave commented 6 years ago

cc @bensternthal ^

bensternthal commented 6 years ago

Got it.. thanks for the explanations!