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