Initialisation depot
This commit is contained in:
55
samba-api/k8s/deploy.sh
Executable file
55
samba-api/k8s/deploy.sh
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
# Kubernetes deployment script
|
||||
|
||||
set -e
|
||||
|
||||
NAMESPACE="samba-api"
|
||||
IMAGE_TAG=${1:-latest}
|
||||
|
||||
echo "Deploying Samba API to Kubernetes..."
|
||||
|
||||
# Apply namespace first
|
||||
echo "Creating namespace..."
|
||||
kubectl apply -f k8s/namespace.yaml
|
||||
|
||||
# Apply RBAC
|
||||
echo "Applying RBAC configuration..."
|
||||
kubectl apply -f k8s/rbac.yaml
|
||||
|
||||
# Apply ConfigMap and Secrets
|
||||
echo "Applying configuration..."
|
||||
kubectl apply -f k8s/configmap.yaml
|
||||
|
||||
# Apply Samba DC StatefulSet
|
||||
echo "Deploying Samba DC..."
|
||||
kubectl apply -f k8s/samba-dc.yaml
|
||||
|
||||
# Wait for Samba DC to be ready
|
||||
echo "Waiting for Samba DC to be ready..."
|
||||
kubectl wait --for=condition=Ready pod -l app=samba-dc -n ${NAMESPACE} --timeout=300s
|
||||
|
||||
# Apply API deployment
|
||||
echo "Deploying Samba API..."
|
||||
kubectl apply -f k8s/deployment.yaml
|
||||
|
||||
# Apply services
|
||||
echo "Applying services..."
|
||||
kubectl apply -f k8s/service.yaml
|
||||
|
||||
# Apply HPA and PDB
|
||||
echo "Applying autoscaling configuration..."
|
||||
kubectl apply -f k8s/hpa.yaml
|
||||
|
||||
# Wait for deployment to be ready
|
||||
echo "Waiting for deployment to be ready..."
|
||||
kubectl wait --for=condition=Available deployment/samba-api -n ${NAMESPACE} --timeout=300s
|
||||
|
||||
echo "Deployment completed successfully!"
|
||||
|
||||
# Show deployment status
|
||||
kubectl get all -n ${NAMESPACE}
|
||||
|
||||
echo ""
|
||||
echo "To access the API:"
|
||||
echo "kubectl port-forward svc/samba-api-service 8000:80 -n ${NAMESPACE}"
|
||||
echo "Then visit: http://localhost:8000/docs"
|
||||
Reference in New Issue
Block a user