Tink vs cloud-controller-manager
cloud-controller-manager loops Nodes, Routes, and Services against a cloud API until load balancers and instance metadata match desired state. That is not a mechanic. Tink installs in one command, watches the Linux server, explains what is wrong, and helps you fix it.
cloud-controller-manager talks to the cloud. Tink answers “why is this VPS sick?”
Accidental sysadmins land on cloud-controller-manager because every Kubernetes cloud diagram includes it. Then the volume fills, nginx dies, and CCM stays green — the VPS was never a LoadBalancer. A filling /var is a Tink warning; it is not a cloud-controller-manager job unless a Node already vanished from the cloud API.
Tink is the other job: detect the issue on the machine, say why it happened in plain English, propose the command, and run it only after you approve. Keep cloud-controller-manager if you already operate Kubernetes on a cloud and need node/LB reconcile. Use Tink if you run Linux servers and want a mechanic.
| Feature | Tink | cloud-controller-manager |
|---|---|---|
| Setup time | 30 seconds (one curl | sh command) | Hours — a control plane, cloud-controller-manager, cloud credentials, scrape of :10258, and dashboards for workqueue depth |
| What you get | Working monitoring, diagnosis, and approved fixes | Cloud reconcile. The box is still yours to diagnose and SSH |
| Pricing | Free (Scout) / $9 / $29 per machine per month | Free software (Apache 2.0). You still pay for Kubernetes, the cloud API, Prometheus, Grafana, and the engineer who owns CCM |
| Hidden costs | None — fully managed | Cloud IAM, leader election, metric cardinality, and a second tool that actually watches the Linux host |
| Monitoring approach | Agent on the server — CPU, disk, services, logs, certs, ports | None on the OS — cloud-controller-manager only reconciles objects the cloud API already knows |
| Configuration | None after install — heuristics and AI | --cloud-provider flags, IAM roles, and which cloudcontroller_workqueue series you actually graph |
| Plain-English diagnosis | Yes — AI explains root cause, impact, and fix | No — cloud-controller-manager serves workqueues. You still kubectl describe to learn why a LoadBalancer is stuck |
| Fix execution | Proposes and executes approved commands with an audit trail | Reconcile only — cloud-controller-manager cannot free disk, restart nginx, or rotate a cert |
| Alerting | Built-in across 8 channels | None — Prometheus must scrape it and a PromQL rule must fire before anyone is paged |
| Predictive alerts | Yes — disk fills in ~6 days, memory and CPU trends | Only if you already wrote a PromQL forecast on workqueue gauges. cloud-controller-manager does not predict host fill |
| SSH brute-force detection | Built-in — parses auth.log every scan | Never — cloud-controller-manager does not read auth.log, journald, or host firewall state |
| Machine offline detection | Agent presence monitoring with multi-channel alerts | A missing Node is a cloud API object — only if the API server still answers and Prometheus still scrapes |
| Public status page | Shareable URL with 90-day history | None — cloud-controller-manager has no customer-facing status page |
| Weekly fleet digest | Automated Monday digest + daily brief when issues are open | None — a workqueue_depth dump is not a plain-English fleet narrative |
| On-call tracking | Built-in /oncall command + incident acknowledgment | Not included — wire Prometheus into PagerDuty or another incident tool |
| Conversation interface | Telegram, WhatsApp, web dashboard, CLI | /metrics on :10258. No mechanic you text when /var filled on a VPS that is not in the cluster |
| Learning curve | None — works after install | Steep — Kubernetes, cloud-provider flags, IAM, Prometheus, PromQL, and which reconcile failures actually mean the box is sick |
| Best for | Freelancers, small teams, accidental sysadmins (1-50 Linux servers) | Teams that already run Kubernetes on a cloud and need node/LB reconcile, not a sick-VPS mechanic |
When cloud-controller-manager is the right choice
Keep cloud-controller-manager when you already want that exact job:
- Cloud reconcile — you need Nodes, Routes, and LoadBalancers looped against AWS, GCP, or Azure, not a mechanic on a quiet VPS.
- An existing control plane — cloud-controller-manager, IAM, and the API server already exist, and someone owns cloud-provider flags.
- Cluster-level questions — instance metadata, cloud routes, and LB provisioning matter more than host nginx, certs, and SSH.
- Hosts that only exist as Nodes — you already run Kubernetes on a cloud, not a sick-box SSH loop.
The real cost of “just scrape cloud-controller-manager”
cloud-controller-manager is in every Kubernetes cloud diagram. A working ops loop for five Linux boxes is not:
- A workqueue_depth gauge still means you SSH in and change the box by hand
- Host fill, nginx, certs, and SSH brute-force never appear unless they already vanished a Node from the cloud API
- A filling /var is a Tink disk warning on every scan — cloud-controller-manager will stay quiet until a controller already failed to reconcile
- A single VPS with no cluster still needs a mechanic, not a cloud-provider flag
For a 5-server team, Tink Mechanic at $45/month is cheaper than cloud-controller-manager plus the engineer who keeps Prometheus scrapes and cloud IAM alive, and every scan includes a diagnosis a quiet :10258 /metrics dump will not type.
No cloud-controller homework. No silent host. One command install.
Start MechanicAlso compare: Tink vs kube-controller-manager · Tink vs kube-apiserver · Tink vs Prometheus