This year I started becoming familiar with Linux kernel namespaces, rootless containers, and the toolchain around Podman. In this article, I share my first experiences with beginners as well as developers, product managers, and solution architects so you all get to know how it feels to be a newbie to the container world.
Why should you care about Linux containers at all?
In my perception, the container hype started around the year 2015, when new buzzwords like Docker, Kubernetes, and OpenShift appeared. I didn't care about containers because literally none of my colleagues and users cared about this technology back then. We had our processes that worked fine (and still do). Of course, we had some problems, but this new technology didn't seem to solve any of them. So what changed that I suddenly started to care about this topic?
It's 2021 and the COVID-19 pandemic is still around, as are containers. However, the hype seems to be over, but I'm sure that containers found their place in the IT ecosystem, and they will be around for the foreseeable future. To keep up with my fellow sysadmin friends who are already familiar with container technologies, I started my journey through containerland.
Where to start?
When you ask somebody where to start, you sometimes just get "read the manual" messages or maybe a "there are some pretty good man pages available on Linux." But, how do you find the man page or read the manual when you don't know the name of the tool you are looking for?
Researching containers on the internet, you may struggle with two problems: Terminology and tutorial complexity. When you read a certain term for the first time, you might be confused about whether it means a company, a CLI tool, a container image, or a container instance. The second problem is that it seems there are only two kinds of tutorials out there: The "Hello, World!" one and the "This is how you deploy Kubernetes clusters in a multi-cloud environment using a combination of just three different automation and orchestration tools you probably never heard of."
To familiarize yourself with the terminology and the architecture of containers, I recommend the following articles, which are available online:
- A Practical Introduction to Container Terminology
- Architecting Containers Part 1: Why Understanding User Space vs. Kernel Space Matters
- Architecting Containers Part 2: Why the User Space Matters
- Architecting Containers Part 3: How the User Space Affects Your Application
After you've covered the theoretical basics, I recommend starting with a small starter project. Choose some software you are interested in, check if it's available as a container image, and start getting familiar with the tools by gathering your first practical experience.
Speaking of tools, I've chosen to start my journey with Podman because it's a simple tool to manage and to run your containers and pods without having to keep some kind of daemon running. I like the effort Red Hat has put into this tool and the possibility of running rootless containers. Also, Podman is available for a broad range of distributions.
For example, I run Podman on Red Hat Enterprise Linux 8 (RHEL). It is a small virtual machine running in my home lab with just one vCPU and 2 GB of RAM. This is enough for a simple project to start.
Now that you know the name, Podman, you also know how to find the man page that tells you how to use it. Additionally, I recommend the following documentation, even if you're running Podman on a distribution other than RHEL:
I started by running a Pod with a kanboard-container and a postgresql-96-container. When it comes to questions like, "How do I share data between containers?" or "How do I set up container networking?" the link above and the following one will help:
What to do when the first container/pod is up and running?
That's not so different from the job you already know. You now have to deal with the usual topics like:
- How and where to store data persistently
- Backup and restore
- Security hardening and updating
- Documentation
- Deployment-automation
Enjoy what you have accomplished so far and think ahead on how to run your first Kubernetes/OpenShift cluster in your company or in your home lab.
Wrap up
Once you've got the terms and tools straight, it's easy to enter and explore this new world of container technology. Running rootless Podman containers provides you with the possibility to explore and try out new applications in a secure environment quickly and easily without messing up your host system's configuration.
Über den Autor
Jörg has been a Sysadmin for over ten years now. His fields of operation include Virtualization (VMware), Linux System Administration and Automation (RHEL), Firewalling (Forcepoint), and Loadbalancing (F5). He is a member of the Red Hat Accelerators Community and author of his personal blog at https://www.my-it-brain.de.
Ähnliche Einträge
Ford's keyless strategy for managing 200+ Red Hat OpenShift clusters
F5 BIG-IP Virtual Edition is now validated for Red Hat OpenShift Virtualization
Mailbag: Managers, Technical Debt | Compiler
compiler-re-role-technical-support
Nach Thema durchsuchen
Automatisierung
Das Neueste zum Thema IT-Automatisierung für Technologien, Teams und Umgebungen
Künstliche Intelligenz
Erfahren Sie das Neueste von den Plattformen, die es Kunden ermöglichen, KI-Workloads beliebig auszuführen
Open Hybrid Cloud
Erfahren Sie, wie wir eine flexiblere Zukunft mit Hybrid Clouds schaffen.
Sicherheit
Erfahren Sie, wie wir Risiken in verschiedenen Umgebungen und Technologien reduzieren
Edge Computing
Erfahren Sie das Neueste von den Plattformen, die die Operations am Edge vereinfachen
Infrastruktur
Erfahren Sie das Neueste von der weltweit führenden Linux-Plattform für Unternehmen
Anwendungen
Entdecken Sie unsere Lösungen für komplexe Herausforderungen bei Anwendungen
Virtualisierung
Erfahren Sie das Neueste über die Virtualisierung von Workloads in Cloud- oder On-Premise-Umgebungen