Container orchestration schedules and manages container workloads across multiple machines or nodes. Orchestrators communicate with container engines, which run containers locally; container runtimes configure Linux kernel isolation and launch the application. section 1.1
Use the boundaries between these roles to choose the right tool:
- Use an orchestrator for multi-machine workloads; Kubernetes is the primary example, alongside Docker Swarm and Apache Mesos. section 1.1
- Use Podman or Docker to develop, manage, and run containers on one host, in rootless or rootful mode. section 1.1 section 1.4
- Use CRI-O or containerd as engines serving Kubernetes, rather than treating Podman as a multi-machine orchestrator. section 1.1 section 1.4
Figure 1.1 Different open source projects dealing with containers within the categories of orchestrators, engines, and runtimes.
Compare open-source projects by their role as orchestrators, container engines, or OCI runtimes. section 1.1










