49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
import paramiko
|
|
import sys
|
|
import time
|
|
|
|
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.41", username="root", key_filename=key_path, timeout=10)
|
|
|
|
cm_yaml = """cat << 'EOF' | k3s kubectl apply -f -
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: coredns-custom
|
|
namespace: kube-system
|
|
data:
|
|
snarfnet.override: |
|
|
hosts {
|
|
140.44.4.34 aerodrome.snarfnet.net
|
|
140.44.4.90 harvester.spacedock.snarfnet.net
|
|
fallthrough
|
|
}
|
|
EOF
|
|
"""
|
|
|
|
print("Applying coredns-custom on Spaceport...")
|
|
stdin, stdout, stderr = client.exec_command(cm_yaml)
|
|
print(stdout.read().decode('utf-8'))
|
|
print(stderr.read().decode('utf-8'))
|
|
|
|
print("\nRestarting coredns deployment on Spaceport...")
|
|
client.exec_command("k3s kubectl -n kube-system rollout restart deployment/coredns")
|
|
client.exec_command("k3s kubectl -n kube-system rollout status deployment/coredns --timeout=60s")
|
|
|
|
print("\nRestarting cattle-cluster-agent on Spaceport...")
|
|
client.exec_command("k3s kubectl -n cattle-system rollout restart deployment/cattle-cluster-agent")
|
|
client.exec_command("k3s kubectl -n cattle-system rollout status deployment/cattle-cluster-agent --timeout=60s")
|
|
|
|
time.sleep(5)
|
|
print("\nChecking cattle-cluster-agent logs:")
|
|
stdin, stdout, stderr = client.exec_command("k3s kubectl -n cattle-system logs -l app=cattle-cluster-agent --tail=25")
|
|
print(stdout.read().decode('utf-8'))
|
|
|
|
client.close()
|
|
|