devops/redis/install-redis.sh

51 lines
1.4 KiB
Bash
Raw Normal View History

2025-09-19 09:30:02 +08:00
#!/bin/bash
echo "开始安装 Redis 到 Kubernetes 集群..."
# 检查 kubectl 是否可用
if ! command -v kubectl &> /dev/null; then
echo "错误: kubectl 命令未找到,请先安装 kubectl"
exit 1
fi
# 应用 Redis 配置
echo "应用 Redis ConfigMap..."
kubectl apply -f redis-configmap.yaml
echo "应用 Redis Deployment..."
kubectl apply -f redis-deployment.yaml
echo "应用 Redis Service..."
kubectl apply -f redis-service.yaml
# 等待 Pod 启动
echo "等待 Redis Pod 启动..."
kubectl wait --for=condition=ready pod -l app=redis -n default --timeout=300s
# 检查状态
echo "检查 Redis 部署状态..."
kubectl get pods -l app=redis -n default
kubectl get svc redis -n default
# 测试 Redis 连接
echo "测试 Redis 连接..."
REDIS_POD=$(kubectl get pods -l app=redis -n default -o jsonpath='{.items[0].metadata.name}')
if [ ! -z "$REDIS_POD" ]; then
echo "在 Pod $REDIS_POD 中测试 Redis..."
kubectl exec -it $REDIS_POD -n default -- redis-cli ping
if [ $? -eq 0 ]; then
echo "Redis 连接测试成功!"
else
echo "Redis 连接测试失败!"
fi
fi
echo "Redis 安装完成!"
echo "Redis 服务地址: redis.default.svc.cluster.local:6379"
echo "默认密码: redis123"
echo ""
echo "使用示例:"
echo "kubectl exec -it <redis-pod-name> -n default -- redis-cli -a redis123"
echo ""
echo "注意: 请确保已正确配置 Redis 密码和持久化存储"