← Home ← Codex ← DEBT
Browse by Category
+ added · updated 7d
← Back to glossary

Container Orchestration

Cloud PHP 5.0+ Advanced
debt(d7/e9/b9/t7)
d7 Detectability Operational debt — how invisible misuse is to your safety net

Closest to 'only careful code review or runtime testing' (d7). The detection_hints list tools like kubectl, k9s, helm, terraform — these are operational tools, not automated linters. Detecting misuse (missing resource limits, no network policies, running PHP on self-managed k8s without platform team) requires manual review or runtime incidents. No automated detection is explicitly noted (automated: no).

e9 Effort Remediation debt — work required to fix once spotted

Closest to 'architectural rework' (e9). The quick_fix suggests moving from self-hosted to managed Kubernetes, which is an infrastructure migration affecting deployment pipelines, networking, secrets management, and operational procedures. Fixing common_mistakes like proper persistent storage, resource limits across all pods, or implementing probes requires cross-cutting changes to all deployment manifests and potentially application code.

b9 Burden Structural debt — long-term weight of choosing wrong

Closest to 'defines the system's shape' (b9). Container orchestration is a foundational infrastructure choice that applies to all PHP contexts (web, cli per applies_to). Once adopted, Kubernetes shapes how every service is deployed, scaled, monitored, and networked. Every future maintainer must understand K8s concepts. The choice has maximum gravitational pull — you're either all-in on K8s or migrating away from it.

t7 Trap Cognitive debt — how counter-intuitive correct behaviour is

Closest to 'serious trap' (t7). The misconception explicitly states 'Kubernetes is required for production' — this contradicts how simpler deployment models work elsewhere (managed PaaS, serverless). Developers familiar with traditional hosting or simpler platforms will assume K8s is necessary and adopt it prematurely, adding significant operational complexity when alternatives would serve better.

About DEBT scoring →

Also Known As

Kubernetes K8s Docker Swarm EKS GKE

TL;DR

Automating the deployment, scaling, networking, and health management of containers across a cluster of machines — Kubernetes is the dominant solution.

Explanation

Kubernetes (K8s) manages containerised workloads: Pods (one or more containers), Deployments (desired replica count), Services (stable network endpoint), Ingress (HTTP routing), ConfigMaps/Secrets (configuration), and PersistentVolumes (storage). The control plane schedules and monitors; worker nodes run containers. Key operations: rolling updates, health checks, automatic restarts, horizontal pod autoscaling. For PHP: PHP-FPM runs in containers behind an nginx sidecar, scaled by HPA based on CPU or request rate.

Diagram

flowchart TD
    subgraph Kubernetes Cluster
        API[API Server]
        subgraph Node 1
            P1[Pod: PHP-FPM]
            P2[Pod: Worker]
        end
        subgraph Node 2
            P3[Pod: PHP-FPM]
            P4[Pod: Nginx]
        end
    end
    SVC[Service - stable DNS] --> P1 & P3
    ING[Ingress - routes traffic] --> SVC
    HPA[HPA - auto-scales pods<br/>on CPU or custom metrics] --> P1 & P3
    CM[ConfigMap - env config] -.-> P1 & P2 & P3
    SEC[Secret - credentials] -.-> P1 & P2 & P3
style ING fill:#d29922,color:#fff
style HPA fill:#238636,color:#fff
style SVC fill:#1f6feb,color:#fff

Common Misconception

Kubernetes is required for production — it adds significant operational complexity; a managed PaaS (Render, Fly.io, Railway) or serverless approach is often better for teams without dedicated DevOps.

Why It Matters

Kubernetes standardises deployment, scaling, and self-healing across any cloud — a workload running on local K8s runs identically on EKS, GKE, or AKS.

Common Mistakes

  • Running a database in Kubernetes without understanding persistent storage — container restarts lose data without PVCs.
  • Not setting resource requests and limits — containers without limits steal CPU/memory from neighbours.
  • Not implementing readiness and liveness probes — Kubernetes cannot route traffic away from broken pods without them.
  • Storing secrets in ConfigMaps — use Kubernetes Secrets or an external secrets manager.

Code Examples

✗ Vulnerable
# Deployment without resource limits or health probes:
apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      containers:
      - name: php-fpm
        image: myapp:latest
        # No resources: limits — can consume all node CPU/memory
        # No readinessProbe — traffic sent to broken pods
        # No livenessProbe — dead pods never restarted
✓ Fixed
spec:
  containers:
  - name: php-fpm
    image: myapp:1.2.3  # Pinned version, not 'latest'
    resources:
      requests: { cpu: 250m, memory: 256Mi }
      limits:   { cpu: 500m, memory: 512Mi }
    readinessProbe:
      httpGet: { path: /health, port: 80 }
      initialDelaySeconds: 5
    livenessProbe:
      httpGet: { path: /ping, port: 80 }
      periodSeconds: 10

Added 15 Mar 2026
Edited 22 Mar 2026
Views 64
Rate this term
No ratings yet
🤖 AI Guestbook educational data only
| |
Last 30 days
0 pings T 0 pings W 1 ping T 0 pings F 0 pings S 1 ping S 0 pings M 0 pings T 0 pings W 2 pings T 1 ping F 0 pings S 2 pings S 2 pings M 2 pings T 2 pings W 0 pings T 0 pings F 1 ping S 0 pings S 0 pings M 0 pings T 0 pings W 0 pings T 0 pings F 0 pings S 2 pings S 1 ping M 0 pings T 0 pings W
No pings yet today
No pings yesterday
Amazonbot 13 Scrapy 8 Perplexity 7 Google 6 Ahrefs 4 SEMrush 4 Unknown AI 2 Claude 2 PetalBot 2 ChatGPT 1 Meta AI 1 Majestic 1 Bing 1
crawler 47 crawler_json 5
DEV INTEL Tools & Severity
🟡 Medium ⚙ Fix effort: High
⚡ Quick Fix
Use managed Kubernetes (EKS, GKE, AKS) rather than self-hosted — the control plane management overhead is significant; focus on deploying your PHP app, not operating Kubernetes
📦 Applies To
PHP 5.0+ web cli
🔗 Prerequisites
🔍 Detection Hints
Running PHP on self-managed k8s without platform team; missing resource limits on PHP pods; no network policies between services
Auto-detectable: ✗ No kubectl k9s helm terraform
⚠ Related Problems
🤖 AI Agent
Confidence: Low False Positives: Medium ✗ Manual fix Fix: High Context: File


✓ schema.org compliant