diag-foc
Overview
- Namespace:
diag-foc - Purpose: DIAG FOC Application (Production)
- Age: 175 days
- Status: Active
Workloads
Deployments
| Name | Replicas | Status | Age | Purpose |
|---|---|---|---|---|
| diag-foc--app--prod | 1/1 | Ready | 175d | DIAG FOC production application |
Services
| Name | Type | Cluster IP | External Access | Ports | Purpose |
|---|---|---|---|---|---|
| diag-foc--app--prod | NodePort | 10.29.219.96 | :30809 | 3000:30809 | Application access |
Access
External Access
The application is exposed via NodePort on port 30809.
Access via any node IP:
http://<node-ip>:30809http://10.110.47.234:30809(internal)http://10.110.32.7:30809(internal)
Management
View all resources:
kubectl get all -n diag-foc
Check pod status:
kubectl get pods -n diag-foc -o wide
View logs:
kubectl logs -f deployment/diag-foc--app--prod -n diag-foc
Execute commands:
kubectl exec -it deployment/diag-foc--app--prod -n diag-foc -- /bin/bash
Restart:
kubectl rollout restart deployment/diag-foc--app--prod -n diag-foc
Scaling:
# Scale to 3 replicas
kubectl scale deployment/diag-foc--app--prod -n diag-foc --replicas=3
Monitoring
Resource usage:
kubectl top pods -n diag-foc
Events:
kubectl get events -n diag-foc --sort-by='.lastTimestamp'
Describe deployment:
kubectl describe deployment diag-foc--app--prod -n diag-foc
Configuration
View environment variables and configuration:
kubectl get deployment diag-foc--app--prod -n diag-foc -o jsonpath='{.spec.template.spec.containers[0].env}' | jq
View ConfigMaps and Secrets:
kubectl get configmaps -n diag-foc
kubectl get secrets -n diag-foc
Recommendations
-
High Availability: Currently running 1 replica
- Consider scaling to 2-3 replicas for redundancy
- Convert NodePort to LoadBalancer or use Ingress for better external access
-
Service Type: NodePort requires knowing node IPs
- Consider migrating to LoadBalancer or Ingress with domain name
- Better for production use cases
-
Monitoring:
- Implement health checks (liveness/readiness probes)
- Set up application-level monitoring
- Configure resource requests and limits
-
Security:
- Review exposed ports (NodePort is less secure than LoadBalancer with firewall rules)
- Implement network policies to restrict traffic
- Use secrets for sensitive configuration
Troubleshooting
Application not responding:
# Check pod status
kubectl get pods -n diag-foc
# Check pod logs
kubectl logs deployment/diag-foc--app--prod -n diag-foc --tail=100
# Check pod events
kubectl describe pod -n diag-foc -l app=diag-foc--app--prod
Check service endpoints:
kubectl get endpoints diag-foc--app--prod -n diag-foc
Port forwarding for local testing:
kubectl port-forward -n diag-foc deployment/diag-foc--app--prod 3000:3000
# Access via http://localhost:3000