devops/skywalking/install-skywalking.sh

64 lines
1.8 KiB
Bash
Raw Permalink Normal View History

2025-09-10 13:11:51 +08:00
#!/bin/bash
# SkyWalking 安装脚本
echo "开始安装 SkyWalking..."
# 检查 kubectl 是否可用
if ! command -v kubectl &> /dev/null; then
echo "错误: kubectl 未安装或不在 PATH 中"
exit 1
fi
# 创建存储目录
echo "创建存储目录..."
echo "在 master 节点上创建以下目录:"
echo " - /opt/elasticsearch"
echo " - /opt/skywalking-oap"
echo ""
echo "请确保 master 节点有足够的磁盘空间(建议至少 100GB"
echo ""
# 创建命名空间(如果不存在)
echo "创建命名空间..."
kubectl create namespace default --dry-run=client -o yaml | kubectl apply -f -
# 按顺序部署组件
echo "1. 部署 Elasticsearch..."
kubectl apply -f elasticsearch-deployment.yaml
kubectl apply -f elasticsearch-service.yaml
echo "等待 Elasticsearch 启动..."
kubectl wait --for=condition=ready pod -l app=elasticsearch --timeout=300s
echo "2. 部署 SkyWalking OAP..."
kubectl apply -f skywalking-oap-deployment.yaml
kubectl apply -f skywalking-oap-service.yaml
echo "等待 SkyWalking OAP 启动..."
kubectl wait --for=condition=ready pod -l app=skywalking-oap --timeout=300s
echo "3. 部署 SkyWalking UI..."
kubectl apply -f skywalking-ui-deployment.yaml
kubectl apply -f skywalking-ui-service.yaml
echo "等待 SkyWalking UI 启动..."
kubectl wait --for=condition=ready pod -l app=skywalking-ui --timeout=300s
echo "4. 配置 Ingress..."
kubectl apply -f skywalking-ingress.yaml
echo "SkyWalking 安装完成!"
echo ""
echo "访问地址: https://skywalking-ops.t-aaron.com"
echo ""
echo "检查服务状态:"
kubectl get pods -l app=elasticsearch
kubectl get pods -l app=skywalking-oap
kubectl get pods -l app=skywalking-ui
echo ""
echo "检查服务:"
kubectl get svc | grep -E "(elasticsearch|skywalking)"
echo ""
echo "检查 Ingress:"
kubectl get ingress skywalking-ingress