Overview
Namespaces provide logical isolation for Kubernetes resources. Orphelix allows you to filter views by namespace, switch between namespaces, and view resources across multiple namespaces.
What are Namespaces?
Kubernetes namespaces partition cluster resources:Isolation
Separate resources by environment, team, or application
Access Control
Apply RBAC policies per namespace
Resource Quotas
Limit CPU/memory usage per namespace
Name Scoping
Same resource names in different namespaces
Default Namespaces
Every Kubernetes cluster has these namespaces:default
default
Purpose: Default namespace for resources without explicit namespaceUsage: Development, testing, or small deploymentsBest practice: Don’t use for production
kube-system
kube-system
Purpose: Kubernetes system componentsResources:
- kube-dns / CoreDNS
- kube-proxy
- Metrics server
- Cloud provider components
kube-public
kube-public
Purpose: Publicly readable resourcesUsage: ConfigMaps accessible cluster-wideRare use case
kube-node-lease
kube-node-lease
Purpose: Node heartbeat objectsUsage: Internal Kubernetes node trackingDon’t modify
Namespace Selector
Switch namespaces from the header:
Location
The namespace selector appears in two places:- Header (top-right): Global namespace selection
- Mode selector dialog: When switching from Demo to Real mode
Selecting a Namespace
1
Click Namespace Dropdown
Click current namespace name in header
2
Choose Namespace
Select from list of available namespaces

3
Wait for Reload
Resources reload for selected namespace (1-2 seconds)
4
Verify
Check header shows correct namespaceAll pages now show resources from selected namespace
Namespace selection persists across browser sessions
Namespace Information
Each namespace in the dropdown shows:- Name: Namespace identifier
- Status: Active or Terminating
- Resource Count: Number of pods in namespace
- Labels: Important labels (environment, team, etc.)
All Namespaces View
View resources across all namespaces:- Enable
- Behavior
- Permissions
Option 1: Select “All Namespaces” from dropdownOption 2: Check “All Namespaces” checkbox (where available)
Namespace Details Page
View comprehensive namespace information:
Overview Section
1
Basic Information
- Name: Namespace name
- Status: Active, Terminating
- Created: Creation timestamp
- Labels: All namespace labels
- Annotations: Namespace annotations
2
Resource Counts
Number of resources in namespace:
- Deployments
- StatefulSets
- DaemonSets
- Pods
- Services
- ConfigMaps
- Secrets
- HPAs
3
Resource Quotas
CPU/memory limits and usage:
Quota cards show:
Quota cards show:- CPU requests/limits
- Memory requests/limits
- Pod count limits
- PVC count/storage limits
- Current usage vs quota
- Percentage used (progress bar)
Resource Quotas
Namespaces can have ResourceQuota objects limiting usage:- CPU Quota
- Memory Quota
- Pod Count
- Storage
- Green: < 70% used
- Yellow: 70-90% used
- Red: > 90% used
Limit Ranges
LimitRange objects set default/min/max resource values:- Default requests/limits (applied if not specified)
- Min/max values (prevents pods outside range)
- Affects new pods only (not existing)
Creating Namespaces
- kubectl
- YAML
- With Quotas
Namespace Organization Strategies
By Environment
- Clear environment separation
- Easy to understand
- Simple RBAC policies
- Limited scalability
- All apps mixed per environment
By Team
- Team ownership clear
- Independent team workflows
- Isolated team quotas
- Multiple deployments per team
- Cross-team dependencies complex
By Application
- Clear app boundaries
- Easy to track app resources
- Independent scaling
- Many namespaces
- Shared services complicated
Hybrid (Environment + Application)
- Complete isolation
- Clear environment + app
- Flexible RBAC
- Namespace explosion
- Management overhead
RBAC and Namespaces
Control who can access each namespace:Namespace-scoped Roles
development namespace only
Read-only Access
Cross-namespace Access
Best Practices
Use Descriptive Names
Use Descriptive Names
Clear namespace naming convention:✅ Good:
prod-api-gatewaystaging-user-servicedev-data-pipeline
ns1testmyapp
Apply Resource Quotas
Apply Resource Quotas
Prevent resource exhaustion:
Set Default Limits
Set Default Limits
Use LimitRanges for consistency:
Label Namespaces
Label Namespaces
Add metadata for filtering/reporting:
Document Namespace Purpose
Document Namespace Purpose
Use annotations:
Don't Overuse Namespaces
Don't Overuse Namespaces
Balance isolation vs complexity:
- Too few: No isolation
- Too many: Management overhead
Troubleshooting
Namespace Stuck in Terminating
Symptom:kubectl delete namespace hangs
Cause: Finalizers preventing deletion
Solution:
1
Check Finalizers
spec.finalizers2
Remove Finalizers
3
Force Delete
If still stuck:
Resource Quota Exceeded
Symptom: Cannot create pods - “exceeded quota” Check:-
Increase Quota
-
Delete Unused Resources
-
Reduce Resource Requests