Module Title: dgt_k8s07 – Container Engines and Runtimes
Module Description:
“Container Engines and Runtimes” covers the container technologies used in DevOps practices. This module explores the inner workings of container engines and runtimes such as Docker, Podman, Containerd, and CRI-O.
Once you know how these engines differ, you put them to work in natural language. You ask the machine to build an image, run it with Docker and then with Podman, inspect it through Containerd or point a Kubernetes node at CRI-O, and you verify what really happened: which process owns the container, whether a daemon is involved, which runtime the kubelet is talking to. The Dockerfiles and commands are written by the machine; understanding and validating them is your job.
Key Learning Objectives:
-
Understanding the Landscape: Learn how containerization has changed software development and deployment. Explore why containers have become essential for creating consistent environments across the different stages of the application lifecycle.
-
Docker Fundamentals: Learn about Docker, which set the standard in container technology with the Dockerfile, a configuration file that specifies how to assemble a container image. Understand how Docker’s wide adoption has shaped the container ecosystem.
-
Exploring Alternatives and Evolutions:
- Podman: Learn about Podman, an open source project by Red Hat, designed as a drop-in replacement for Docker with a daemonless architecture that enhances security and flexibility.
- Containerd: Study Containerd, which emerged from the Docker community as a minimalist container runtime focused on simplicity and performance, and which plays a crucial role in orchestrators like Kubernetes.
-
CRI-O: Examine CRI-O, built specifically for Kubernetes, which offers a lightweight implementation of the Kubernetes Container Runtime Interface (CRI) and emphasizes integration with the native Kubernetes ecosystem.
-
Comparative Analysis: Compare and contrast these technologies to understand their unique features, benefits, and use cases. Analyze how each engine aligns with different organizational needs in terms of security, scalability, and compliance.
-
Natural-Language Practice: Work in labs where you instruct the machine to run and manage containers with each of these runtimes, then review the commands and image definitions it produces and confirm the outcome. These exercises train you in directing and checking the deployment of containerized applications in real-world scenarios.
-
Future Trends: An overview of upcoming trends and developments in the container ecosystem.
Target Audience:
This module is intended for IT professionals, DevOps engineers, system administrators, software developers, and anyone who works with containerization technologies. No prior experience with containers is required, but a basic understanding of Linux systems will help you follow what the machine does on your behalf.
By the end of this module, participants will understand the main container engines and runtimes, enabling them to make informed decisions about container solutions in their organizations and to guide the machine when implementing them.
The students can push their exercises to the Academy DevOps & SRE Git project. For this module, create a folder with your username as its name in the following subfolder: https://github.com/Garanti-Del-Talento/gdt_academy
