Commit graph

2 commits

Author SHA1 Message Date
jianglai
753a269357 Use bazel rules to build docker image and push to GCR
Using bazel to build and push image result in reproducible builds.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=187252645
2018-03-06 19:08:24 -05:00
jianglai
6a994f320f Add GKE deployment config files for GCP proxy
This CL setups up kubernetes configuration files necessary to deploy the proxy service to k8s (GKE to be specific). Because kubernetes service can only expose node ports higher than 30000, the default ports that the containers expose are also changed to >30000 so that they are consistent. This is *not* necessary, but makes it easier to remember which ports are for what purpose.

Note that we are not setting up a load balancing service. The way it is set up now, the services are only visible within the clusters, on each node at the specified node ports. The load balancer k8s sets up uses GCP L4 load balancer that does not support IPv6 (because it does not do TCP termination at the LB, rather just routes packages to cluster nodes, and GCE VMs does not support IPv6 yet). The L4 load balancer also only provides regional IPs on the frontend, which means proxies running in different regions (Americas, EMEA, APAC) would all have different IPs, which in turn offload regional routing determination to the DNS system, adding complexity.

A user of the proxy instead should set up TCP proxy load balancing in GCP separately and point traffic to the VM group(s) backing the k8s cluster. This allows for a single global anycast IP (IPv4 and IPv6) to be allocated at the load balancer frontend.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=187046521
2018-03-06 18:57:43 -05:00