Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am inoahnothing on github.
  • I am nkrause (https://keybase.io/nkrause) on keybase.
  • I have a public key ASDfHxMZ4DLl6oFWceL45-bUDKBsB02O4iRq-Tll2z4PCwo

To claim this, I am signing this object:

@iNoahNothing
iNoahNothing / lb-comparison.md
Created September 8, 2020 15:32
LB Comparison
LB OSI Layer HTTP gRPC Websockets TLS Termination Load Balancing Algo X-Forwarded-* Can be Provisioned by K8s
AWS ELB L4 X X X X Round Robin X
AWS ELB L7 X X least outstanding requests X X
AWS NLB L4 X X X X Round Robin X
AWS ALB L7 X X X X Customizable X
GCP LB L4 X X X Round Robin X
GCP HTT
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: voting
namespace: emojivoto
---
apiVersion: v1
kind: Service
metadata:
{{"generic_key": "default", "generic_key": "foo-app"},{"generic_key": "default", "remote_address", 10.10.11.12}}
and
{{"generic_key": "default", "generic_key": "bar-app"},{"generic_key": "default", "remote_address", 10.10.11.12}}
{{"generic_key": "foo-app"},{"remote_address", 10.10.11.12}}
and
{{"generic_key": "bar-app"},{"remote_address", 10.10.11.12}}
---
apiVersion: v1
kind: Service
metadata:
labels:
service: grpc-py-1
name: grpc-py-1
annotations:
getambassador.io/config: |
---
$ k logs $(getPod -g ambassador) -c ambassador
2019-02-13 22:25:22 kubewatch [21 TMainThread] 0.50.1 INFO: kubewatch starting: mode 'cluster-id' ambassador_config_dir '/ambassador/ambassador-config' envoy_config_file '/ambassador/envoy/envoy.json' debug 'False' delay '1.0' pid 'None'
2019-02-13 22:25:22 kubewatch [21 TMainThread] 0.50.1 INFO: namespace datawire, watching all namespaces
2019-02-13 22:25:22 kubewatch [21 TMainThread] 0.50.1 INFO: cluster ID is d9df889a-739c-52a4-a651-751f8427a55d (from namespace default)
AMBASSADOR: using cluster ID d9df889a-739c-52a4-a651-751f8427a55d
AMBASSADOR: starting ads
AMBASSADOR: starting diagd
AMBASSADOR: pinging diagd (10)...
time="2019-02-13T22:25:22Z" level=info msg="Ambex 0.1.1 starting..."
time="2019-02-13T22:25:22Z" level=info msg=Listening port=18000
{
"@type": "/envoy.config.bootstrap.v2.Bootstrap",
"static_resources": {
"clusters": [
{
"connect_timeout": "3s",
"lb_policy": "ROUND_ROBIN",
"load_assignment": {
"cluster_name": "cluster_127_0_0_1_8877",
"endpoints": [