fix: 将 k3s-ansible 作为普通目录添加
This commit is contained in:
57
demo-gitops-update.sh
Executable file
57
demo-gitops-update.sh
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
# GitOps自动更新演示脚本
|
||||
|
||||
echo "🎯 GitOps自动更新演示"
|
||||
echo "======================="
|
||||
echo ""
|
||||
|
||||
# 检查当前版本
|
||||
echo "📊 当前应用版本:"
|
||||
curl -s http://8.216.38.248:30081 | grep -o "Version: v[0-9.]*"
|
||||
echo ""
|
||||
|
||||
# 提示用户
|
||||
echo "现在我们将更新应用到 v2.0..."
|
||||
echo "按Enter键继续..."
|
||||
read
|
||||
|
||||
# SSH到master节点并更新
|
||||
echo "🔄 正在更新应用..."
|
||||
ssh fei@8.216.38.248 "cd /home/fei/k3s/test-app && ./update-app.sh v2.0"
|
||||
|
||||
echo ""
|
||||
echo "✅ Git提交完成!"
|
||||
echo ""
|
||||
echo "⏳ 等待ArgoCD检测变化并自动同步..."
|
||||
echo " (ArgoCD每3分钟检查一次Git仓库)"
|
||||
echo ""
|
||||
|
||||
# 监控同步状态
|
||||
echo "📊 监控ArgoCD同步状态..."
|
||||
for i in {1..12}; do
|
||||
STATUS=$(ssh fei@8.216.38.248 "kubectl get application test-app -n argocd -o jsonpath='{.status.sync.status}'")
|
||||
HEALTH=$(ssh fei@8.216.38.248 "kubectl get application test-app -n argocd -o jsonpath='{.status.health.status}'")
|
||||
echo "[$i/12] Sync: $STATUS | Health: $HEALTH"
|
||||
|
||||
if [ "$STATUS" = "Synced" ] && [ "$HEALTH" = "Healthy" ]; then
|
||||
echo ""
|
||||
echo "✅ 同步完成!"
|
||||
break
|
||||
fi
|
||||
|
||||
sleep 15
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "🎉 验证更新后的版本:"
|
||||
curl -s http://8.216.38.248:30081 | grep -o "Version: v[0-9.]*"
|
||||
echo ""
|
||||
echo "🌐 访问 http://8.216.38.248:30081 查看新版本(背景颜色已改变)"
|
||||
echo ""
|
||||
echo "📝 总结:"
|
||||
echo " 1. 我们修改了Git仓库中的配置"
|
||||
echo " 2. ArgoCD自动检测到变化"
|
||||
echo " 3. ArgoCD自动部署了新版本"
|
||||
echo " 4. 整个过程无需手动执行kubectl命令"
|
||||
echo ""
|
||||
echo "这就是GitOps的魅力!🚀"
|
||||
Reference in New Issue
Block a user