51 lines
1.4 KiB
Bash
Executable File
51 lines
1.4 KiB
Bash
Executable File
#!/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 密码和持久化存储"
|