diff dns_k8s_check.py @ 59:fa7a71b8a97f

more dns checks, including from inside containers in k8s`
author drewp@bigasterisk.com
date Sun, 01 May 2022 23:30:09 -0700
parents
children fb68881b79a0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dns_k8s_check.py	Sun May 01 23:30:09 2022 -0700
@@ -0,0 +1,28 @@
+import json
+import subprocess
+
+subprocess.check_call(["skaffold", "run"], cwd="/my/proj/infra/k8s_lookup/")
+
+try:
+    j = subprocess.check_output(['kubectl', 'get', 'pod', '-o', 'json', '--selector', 'name=k8s-lookup'])
+    pods = json.loads(j)['items']
+    for lookupName in [
+            'bang',
+            'bang.bigasterisk.com',
+            'bang.bigasterisk.com.',
+            'mongodb.default.svc.cluster.local',
+            'mongodb.default.svc.cluster.local.',
+    ]:
+        for pod in pods:
+            runningOn = pod['spec']['nodeName']
+            podName = pod['metadata']['name']
+
+            r = subprocess.run(
+                ['kubectl', 'exec', f'pod/{podName}'] + ['--'] +  #
+                ['dnsget', '-q', lookupName],
+                capture_output=True)
+            result = (r.stdout + r.stderr).decode('ascii').strip().replace('\n', '; ')
+            print(f'looked up {lookupName} from pod on {runningOn} -> {result}')
+
+finally:
+    subprocess.check_call(["skaffold", "delete"], cwd="/my/proj/infra/k8s_lookup/")
\ No newline at end of file