MB Networks
CFG-07 · Containers
A Deployment, a matching Service, and an optional Ingress — one form, one YAML file with all three documents.
Deployment
Service
Ingress
manifest.yaml
Validate locally with kubectl apply --dry-run=client -f manifest.yaml before applying to a real cluster.
The request is what the scheduler reserves for your pod when deciding which node to place it on — set it too high and pods sit unschedulable on a full cluster; too low and the scheduler over-packs nodes. The limit is the hard ceiling the container is killed or throttled at. A pod with no limit at all can starve its neighbours on the same node during a spike, which is why both matter even for small deployments.
A failing liveness probe gets the container restarted — use it for "this process is stuck and needs a fresh start." A failing readiness probe just pulls the pod out of Service load-balancing without restarting anything — use it for "still starting up" or "temporarily overloaded." Wiring both to the same endpoint is fine for a simple app, but a slow-starting one usually needs them to diverge.
ClusterIP (default) is only reachable from inside the cluster — the normal choice when an Ingress or another in-cluster service is the only thing that needs to reach it. NodePort opens a port on every node directly. LoadBalancer asks the cloud provider to provision an external load balancer — it does nothing on a bare-metal or local cluster without a load-balancer controller installed.
Not strictly — TLS in an Ingress just references a Secret containing a certificate and key. cert-manager is the common way to have that Secret created and renewed automatically; without it, you'd need to create the TLS Secret yourself ahead of time.
The request only affects scheduling — the container is killed the moment it exceeds its memory limit, regardless of the request. If a pod is repeatedly OOMKilled, the limit is too low for what the app actually needs, not the request.
Related tools
DevOps
Docker Compose Generator
Build a valid Docker Compose file from a form — services, images, ports, volumes, environment variables, and restart policy. No account, nothing leaves your browser.
Open →DevOps
Dockerfile Generator
Generate a Dockerfile from a form — base image, workdir, copy and run steps, exposed ports, and an optional multi-stage build. No account, nothing leaves your browser.
Open →DevOps
Crontab to systemd Timer Converter
Convert a crontab line into a systemd .service + .timer pair, including the two-OnCalendar-line trick for cron's day-of-month/day-of-week OR behavior. No account, nothing leaves your browser.
Open →DevOps
Firewall Rule Builder
Build firewall rules from a form and get the equivalent nftables ruleset, iptables commands, and ufw commands, side by side. No account, nothing leaves your browser.
Open →DevOps
.gitignore Generator
Build a merged .gitignore from language, editor, and OS templates — Node, Python, Go, Rust, Java, VSCode, JetBrains, macOS, Windows, and more. No account, nothing leaves your browser.
Open →DevOps
Reverse Proxy Config Generator
Generate a reverse proxy config for Caddy or nginx from one form — domain, upstream, TLS, WebSocket upgrade, and security headers. No account, nothing leaves your browser.
Open →