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.
저자 소개
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.
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
가상화
온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래