40 lines
1.1 KiB
Bash
40 lines
1.1 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
# Install Kong API Gateway
|
||
|
|
|
||
|
|
set -e
|
||
|
|
|
||
|
|
NAMESPACE="api-gateway"
|
||
|
|
|
||
|
|
echo "🚪 Installing Kong API Gateway..."
|
||
|
|
|
||
|
|
# Check prerequisites
|
||
|
|
command -v kubectl >/dev/null 2>&1 || { echo "❌ kubectl not found"; exit 1; }
|
||
|
|
|
||
|
|
# Create namespace
|
||
|
|
echo "📦 Creating namespace: $NAMESPACE"
|
||
|
|
kubectl create namespace "$NAMESPACE" --dry-run=client -o yaml | kubectl apply -f -
|
||
|
|
|
||
|
|
# Create ConfigMap from kong.yaml
|
||
|
|
echo "📝 Creating Kong configuration..."
|
||
|
|
kubectl create configmap kong-config \
|
||
|
|
--from-file=kong.yaml=kong.yaml \
|
||
|
|
--namespace="$NAMESPACE" \
|
||
|
|
--dry-run=client -o yaml | kubectl apply -f -
|
||
|
|
|
||
|
|
# Apply deployment
|
||
|
|
echo "🚀 Deploying Kong..."
|
||
|
|
kubectl apply -f k8s-deployment.yaml
|
||
|
|
|
||
|
|
# Wait for deployment
|
||
|
|
echo "⏳ Waiting for Kong to be ready..."
|
||
|
|
kubectl wait --for=condition=available --timeout=300s deployment/kong -n "$NAMESPACE"
|
||
|
|
|
||
|
|
echo "✅ Kong API Gateway installed successfully!"
|
||
|
|
echo ""
|
||
|
|
echo "📝 Access Kong Admin API:"
|
||
|
|
echo " kubectl port-forward -n $NAMESPACE svc/kong-proxy 8001:8001"
|
||
|
|
echo ""
|
||
|
|
echo "📝 Access Kong Proxy:"
|
||
|
|
echo " kubectl port-forward -n $NAMESPACE svc/kong-proxy 8000:80"
|
||
|
|
|