devops/skywalking/install-skywalking.sh

64 lines
1.8 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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