mgmt/scripts/test-consul-apt-install.sh

44 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# 测试 Consul APT 安装和配置
echo "🧪 测试 Consul APT 安装流程"
echo "================================"
# 测试目标节点
TEST_NODE="hcp1.tailnet-68f9.ts.net"
echo "1. 测试 HashiCorp 源配置..."
ssh $TEST_NODE "curl -s https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null"
echo "2. 添加 APT 源..."
ssh $TEST_NODE "echo 'deb [trusted=yes signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main' | sudo tee /etc/apt/sources.list.d/hashicorp.list"
echo "3. 更新包列表..."
ssh $TEST_NODE "apt update"
echo "4. 检查可用的 Consul 版本..."
ssh $TEST_NODE "apt-cache policy consul"
echo "5. 测试安装 Consul..."
ssh $TEST_NODE "apt install -y consul=1.21.5-*"
if [ $? -eq 0 ]; then
echo "✅ Consul 安装成功"
echo "6. 验证安装..."
ssh $TEST_NODE "consul version"
ssh $TEST_NODE "which consul"
echo "7. 检查服务状态..."
ssh $TEST_NODE "systemctl status consul --no-pager"
else
echo "❌ Consul 安装失败"
exit 1
fi
echo ""
echo "🎉 测试完成!"
echo "现在可以运行完整的 Ansible playbook"