35 lines
1.1 KiB
Bash
35 lines
1.1 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Get container distribution across cluster nodes using direct commands
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
PROXMOX_HOST="${PROXMOX_HOST:-192.168.11.10}"
|
||
|
|
PROXMOX_PASS="${PROXMOX_PASS:-L@kers2010}"
|
||
|
|
|
||
|
|
ssh_proxmox() {
|
||
|
|
sshpass -p "$PROXMOX_PASS" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 root@"$PROXMOX_HOST" "$@"
|
||
|
|
}
|
||
|
|
|
||
|
|
echo "Container Distribution Across Cluster Nodes"
|
||
|
|
echo "============================================"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Get all containers from ml110 (since they're all there currently)
|
||
|
|
echo "All containers (currently on ml110):"
|
||
|
|
ssh_proxmox "pct list" 2>&1 | grep -v "^VMID" | while IFS= read -r line; do
|
||
|
|
if [[ -n "$line" ]]; then
|
||
|
|
vmid=$(echo "$line" | awk '{print $1}')
|
||
|
|
status=$(echo "$line" | awk '{print $2}')
|
||
|
|
name=$(echo "$line" | awk '{for(i=5;i<=NF;i++) printf "%s ", $i; print ""}' | xargs)
|
||
|
|
printf " %-6s %-12s %s\n" "$vmid" "$status" "$name"
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "To check which node each container is on:"
|
||
|
|
echo " ssh root@192.168.11.10 'pvesh get /nodes/ml110/lxc'"
|
||
|
|
echo " ssh root@192.168.11.10 'pvesh get /nodes/pve/lxc'"
|
||
|
|
echo " ssh root@192.168.11.10 'pvesh get /nodes/pve2/lxc'"
|
||
|
|
echo ""
|
||
|
|
|