Skip to content

Commit c608346

Browse files
committed
feat(deploy): Add production-ready Docker and Kubernetes deployment configurations
Added comprehensive deployment configurations for NLP service and orchestrator, enabling production-ready containerized deployment with observability. ## Docker Support - nlp/Dockerfile: Multi-stage Python 3.11 build * Optimized for production with non-root user * Health checks and security best practices * Image size: ~150MB (slim base) - deploy/docker-compose.yml: Local development stack * NLP Service (port 8082) * Orchestrator (ports 8080, 9090) * Isolated network with health checks ## Kubernetes Deployments ### NLP Service (deploy/k8s/nlp/) - Namespace: oran-nlp - Deployment: 2 replicas with HPA (2-10 pods) - Service: ClusterIP + NodePort (30082) - ConfigMap: Configuration management - Resources: 200m-500m CPU, 256Mi-512Mi memory - Probes: Liveness and readiness checks - Security: Non-root user, dropped capabilities ### Orchestrator (deploy/k8s/orchestrator/) - Namespace: oran-orchestrator - Deployment: 2 replicas with HPA (2-10 pods) - Service: ClusterIP + NodePort (30080) - ServiceAccount + RBAC: Argo CD permissions - Resources: 500m-1000m CPU, 512Mi-1Gi memory - Metrics: Prometheus on port 9090 - Security: Read-only root filesystem ## High Availability Features - PodDisruptionBudget: Ensures minimum availability - HorizontalPodAutoscaler: Auto-scaling on CPU/memory - Multiple replicas: 2+ pods for redundancy - Health checks: Liveness and readiness probes - Resource limits: Prevents resource exhaustion ## Deployment Guide (deploy/README.md) - Quick start with Docker Compose - Kubernetes production deployment steps - Configuration management - Security and RBAC setup - Monitoring and metrics - Troubleshooting guide - Scaling strategies ## Usage ### Docker Compose (Development) ```bash cd deploy docker-compose up -d ``` ### Kubernetes (Production) ```bash kubectl apply -f deploy/k8s/nlp/deployment-complete.yaml kubectl apply -f deploy/k8s/orchestrator/deployment-complete.yaml ``` ## Documentation Updates - README.md: Added Natural Language Intent Processing section - Quick start guide for natural language API - Intent pattern examples and response formats - End-to-end flow diagram This enables production deployment with full observability, security, and high availability for natural language network slice orchestration.
1 parent 9d156ad commit c608346

12 files changed

Lines changed: 1045 additions & 1 deletion

README.md

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,9 +216,74 @@ Our modern CI/CD pipeline demonstrates production-ready practices:
216216
make verify-deployment
217217
```
218218

219+
## 🎤 Natural Language Intent Processing (NEW!)
220+
221+
The orchestrator now supports **natural language input** for network slice deployment, enabling conversational slice management through advanced NLP.
222+
223+
### End-to-End Flow
224+
225+
```
226+
"Deploy high-bandwidth video streaming for 100 users"
227+
↓ Natural Language
228+
NLP Service (FastAPI) - Parse intent → Extract QoS parameters
229+
↓ HTTP API
230+
Orchestrator (Go) - Map to slice configuration
231+
↓ Argo CD API
232+
Argo CD - GitOps deployment
233+
↓ Kubernetes API
234+
Network Slice Resources (Namespace, Deployment, Service, ConfigMap)
235+
```
236+
237+
### Quick Start
238+
239+
```bash
240+
# 1. Start NLP Service
241+
cd nlp && python nlp_service.py
242+
243+
# 2. Start Orchestrator
244+
cd orchestrator && ./bin/orchestrator.exe --server
245+
246+
# 3. Send Natural Language Intent
247+
curl -X POST http://localhost:8080/api/v1/intents/natural \
248+
-H "Content-Type: application/json" \
249+
-d '{
250+
"intent": "Deploy high-bandwidth video streaming for 100 users"
251+
}'
252+
```
253+
254+
### Supported Intent Types
255+
256+
| Intent Pattern | Slice Type | Example |
257+
|----------------|------------|---------|
258+
| **Video/Streaming** | eMBB | "Deploy 4K video streaming slice" |
259+
| **Low Latency/Autonomous** | URLLC | "Deploy ultra-low latency for autonomous vehicles" |
260+
| **IoT/Sensors** | mMTC | "Deploy IoT sensor network for smart city" |
261+
262+
### API Response
263+
264+
```json
265+
{
266+
"success": true,
267+
"slice_id": "slice-embb-1759250943",
268+
"intent": {
269+
"raw_text": "Deploy high-bandwidth video streaming for 100 users",
270+
"parsed_as": "eMBB"
271+
},
272+
"qos_profile": {
273+
"throughput_mbps": 50.0,
274+
"latency_ms": 10.0,
275+
"reliability": 99.9
276+
},
277+
"deployment": {
278+
"namespace": "oran-slice-embb",
279+
"status": "success"
280+
}
281+
}
282+
```
283+
219284
## ⚙️ Argo CD Integration
220285

221-
The orchestrator now supports **Argo CD** for GitOps-based network slice deployment, providing automated synchronization and health monitoring.
286+
The orchestrator supports **Argo CD** for GitOps-based network slice deployment, providing automated synchronization and health monitoring.
222287

223288
### Architecture
224289

0 commit comments

Comments
 (0)