64 lines
1.8 KiB
Bash
Executable File
64 lines
1.8 KiB
Bash
Executable File
#!/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
|