Keep Calm and Containerd On!
summary
Intuit migrates 220+ Kubernetes clusters (avg ~16,000 nodes) from dockerd to containerd, replacing the docker shim and using crictl plus kubelet’s containerRuntime/socket options for rollout during monthly rolling upgrades with zero downtime. Key issues: containerd emits plain-text logs (pipeline assumed JSON) causing log loss — fixed with Fluentd regex parsing at cost of 17% dip in log throughput; CNI IPAM queried the wrong socket during mixed-node upgrades — fixed with a bootstrap generic .sock symlink; pod startup improves to ~120s vs ~200s.
AI-written summary · about
chapters (17)
- 0:00Thank you to our session recording sponsor!
- 2:29What's a CRI?
- 3:42Why docker-shim got deprecated?
- 4:41Why containerd?
- 5:10CRI RuntimeInvocation
- 7:32Understand CR wiring: containerd
- 11:34The Great Migration
- 13:24Logging driver
- 14:09Logging and migration: Problem 1
- 15:04Logging and migration Solution 1
- 16:29Logging and migration Problem 2
- 17:05Logging and migration Solution 2
- 18:22CNI and migration: Problem
- 19:21CNI and migration Solution
- 20:27Performance test setup
- 21:25containerd vs dockerd performance
- 22:31Takeaways
related talks
33mLessons Learned Migrating Kubernetes from Docker to containerd Runtime
43mIntro: containerd
43mcontainerd
42mDon’t Panic: Kubernetes will no longer support Docker
30mIntroduction and Deep Dive into containerd
35mA Containerd And Friends Update: What’s New In Runtimes?
26mContainerization War Stories
44mContainer Standards Explained
