Skip to content

Instantly share code, notes, and snippets.

@jkremser
Last active September 18, 2024 11:55
Show Gist options
  • Save jkremser/795191744bdf3050e91b54a8e24d7c52 to your computer and use it in GitHub Desktop.
Save jkremser/795191744bdf3050e91b54a8e24d7c52 to your computer and use it in GitHub Desktop.
# two clusters
k config get-contexts -oname

# eu@aws
k --context cluster-eu@aws get no
k --context cluster-eu@aws describe node | grep -A5 "System Info"
k --context cluster-eu@aws get svc -n ingress-nginx
dig +short a1f9cb3961e1a4d11af80365d0c5fa28-31f9021cb00929cd.elb.eu-west-2.amazonaws.com
curl -s http://ip-api.com/json/18.132.100.90  | jq

# us@gcp
k --context cluster-us@gcp describe node | grep -A5 "System Info"


# failover use-case
k describe gslb -n test-gslb test-gslb-failover | grep -i primary
dig +short failover.demo.k8s.kremser.dev
curl -s http://ip-api.com/json/18.132.100.90  | jq
curl -s failover.demo.k8s.kremser.dev
curl -s failover.demo.k8s.kremser.dev | grep mess


# podinfo can panic
curl -s https://raw.githubusercontent.com/stefanprodan/podinfo/master/README.md | grep panic
curl -s failover.demo.k8s.kremser.dev/panic
k get po -n test-gslb

# "long term" failure
k set image -n test-gslb deploy/podinfo podinfo=ghcr.io/stefanprodan/podtypo:6.5.4
k get po -n test-gslb

dig +short failover.demo.k8s.kremser.dev
curl -s failover.demo.k8s.kremser.dev | grep mess


# geoip use-case
curl -s ifconfig.me
curl -s http://ip-api.com/json/62.99.178.77 | jq
# ask cloudflare
dig +short @1.1.1.1 geoip.demo.k8s.kremser.dev
# ask using 8.8.8.8
dig +short geoip.demo.k8s.kremser.dev
cat /etc/resolv.conf | grep n..eser
curl -s geoip.demo.k8s.kremser.dev | grep mess

# or ask explicitly one of our corednses
dig +short +subnet=$(curl -s ifconfig.me) @gslb-ns-eks-eu-west-demo.k8s.kremser.dev geoip.demo.k8s.kremser.dev

# or by using american ip as client-subnet
curl -s http://ip-api.com/json/34.21.11.86 | jq
dig +short +subnet=34.21.11.86 @gslb-ns-eks-eu-west-demo.k8s.kremser.dev geoip.demo.k8s.kremser.dev

# if 8.8.8.8 is used, it will just work
k --context cluster-us@gcp run -it --image=infoblox/dnstools --rm --restart=Never --command geoip -- "/bin/sh"
dig +short geoip.demo.k8s.kremser.dev
curl -s geoip.demo.k8s.kremser.dev | grep mess
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment