Skip to main content

diag-foc

Overview​

  • Namespace: diag-foc
  • Purpose: DIAG FOC Application (Production)
  • Age: 175 days
  • Status: Active

Workloads​

Deployments​

NameReplicasStatusAgePurpose
diag-foc--app--prod1/1Ready175dDIAG FOC production application

Services​

NameTypeCluster IPExternal AccessPortsPurpose
diag-foc--app--prodNodePort10.29.219.96:308093000:30809Application access

Access​

External Access​

The application is exposed via NodePort on port 30809.

Access via any node IP:

  • http://<node-ip>:30809
  • http://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​

  1. 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
  2. Service Type: NodePort requires knowing node IPs

    • Consider migrating to LoadBalancer or Ingress with domain name
    • Better for production use cases
  3. Monitoring:

    • Implement health checks (liveness/readiness probes)
    • Set up application-level monitoring
    • Configure resource requests and limits
  4. 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