feat: add infrastructure health check and management automation scripts
This commit is contained in:
25
scripts/check_current_status.py
Normal file
25
scripts/check_current_status.py
Normal file
@@ -0,0 +1,25 @@
|
||||
import paramiko
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
sys.stdout.reconfigure(encoding='utf-8')
|
||||
|
||||
key_path = r"C:\Users\Snarf\.ssh\id_ed25519_snarfnet"
|
||||
client = paramiko.SSHClient()
|
||||
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||
|
||||
client.connect("140.44.4.11", username="root", key_filename=key_path, timeout=10)
|
||||
stdin, stdout, stderr = client.exec_command("KUBECONFIG=/etc/rancher/k3s/k3s.yaml kubectl get clusters.management.cattle.io -o yaml")
|
||||
data = yaml.safe_load(stdout.read().decode('utf-8'))
|
||||
client.close()
|
||||
|
||||
for item in data.get('items', []):
|
||||
name = item.get('metadata', {}).get('name')
|
||||
disp = item.get('spec', {}).get('displayName')
|
||||
print(f"\n==========================================")
|
||||
print(f"Cluster: {disp} ({name})")
|
||||
print(f"==========================================")
|
||||
for c in item.get('status', {}).get('conditions', []):
|
||||
if c.get('type') in ['Ready', 'Connected']:
|
||||
print(f" [{c.get('type')}]: status={c.get('status')} reason={c.get('reason')} msg={c.get('message')}")
|
||||
|
||||
Reference in New Issue
Block a user