ebook img

Podman for DevOps: Containerization reimagined with Podman and its companion tools PDF

519 Pages·2022·3.424 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Podman for DevOps: Containerization reimagined with Podman and its companion tools

A P le o Podman for DevOps ss d a m n d r a o n A r f r o Podman ich r As containers have become the new de facto standard for packaging applications and their dependencies, ie D understanding how to implement, build, and manage them is now an essential skill for developers, system llo e | v administrators, and SRE/operations teams. Podman and its companion tools Buildah and Skopeo make a G O ia p for DevOps great toolset to boost the development, execution, and management of containerized applications. n s n Starting with the basic concepts of containerization and its underlying technology, this book will help i S a you get your fi rst container up and running with Podman. You’ll explore the complete toolkit and go over lin e the development of new containers, their lifecycle management, troubleshooting, and security aspects. tt i Together with Podman, the book illustrates Buildah and Skopeo to complete the tools ecosystem and cover the complete workfl ow for building, releasing, and managing optimized container images. Podman for DevOps provides a comprehensive view of the full-stack container technology and its relationship Containerization reimagined with Podman and its with the operating system foundations, along with crucial topics such as networking, monitoring, and companion tools integration with systemd, docker-compose, and Kubernetes. By the end of this DevOps book, you’ll have developed the skills needed to build and package your applications inside containers as well as to deploy, manage, and integrate them with system services. Things you will learn: • Understand Podman's daemonless • Manage OCI images with Skopeo approach as a container engine • Troubleshoot runtime, build, and • Run, manage, and secure containers isolation issues with Podman • Integrate Podman containers • Discover the strategies, concepts, with existing networking and and command-line options for system services using Buildah to build containers from scratch Alessandro Arrichiello | Gianni Salinetti Foreword by Brent J. Baude Podman for DevOps Containerization reimagined with Podman and its companion tools Alessandro Arrichiello Gianni Salinetti BIRMINGHAM—MUMBAI Podman for DevOps Copyright © 2022 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Group Product Manager: Rahul Nair Publishing Product Manager: Niranjan Naikwadi Senior Editor: Sangeeta Purkayastha Content Development Editor: Nihar Kapadia Technical Editor: Nithik Cheruvakodan Copy Editor: Safis Editing Project Coordinator: Shagun Saini Proofreader: Safis Editing Indexer: Sejal Dsilva Production Designer: Sinhayna Bais Marketing Coordinator: Nimisha Dua First published: May 2022 Production reference: 1080422 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-80324-823-3 www.packt.com To my son, Giovanni, for allowing me to steal time from our playtime. To my wife, Tecla, for being my loving partner and supporting me. – Alessandro Arrichiello To my son, Filippo, who teaches me to learn every day and enjoy the little things in life. To my beloved wife, Anna Veronica, for all the strength and inspiration she brings to our family. – Gianni Salinetti Foreword Containers, their various runtimes, and Kubernetes are seeing fierce momentum in the technology and computing worlds. They are no longer just the darling of system administrators and Kubernetes distributed workloads. Containers are now endemic in Continuous Integration (CI) tasks, cloud workloads, and microservices. Starting with programmers, containers have even broken into the desktop space, where Integrated Development Environments (IDEs) can be the backend into containers for things such as testing language versions or compiling code. We can attribute the latest invigoration to the simplification of container images and the ability to distribute them in container registries. Not bad for a decades-old technology that used to simply focus on the isolation of a computing process. Podman for DevOps begins with a detailed exploration of container history, from its inception to now. It then transitions into the various container technologies and arrives at the two most common ones: Docker and Podman (short for Pod Manager). The early chapters provide a comprehensive examination of Docker and Podman and describe the pros and cons of both. These comparisons demonstrate Podman's novelty and strengths. Gianni and Alessandro then settle on Podman, beginning with an exploration of its architecture. They then follow the architecture by illustrating the various applications in the Podman stack, such as conmon and network tooling. After laying the groundwork for how Podman works, they meticulously review each Podman command in an example- oriented approach. Finally, Gianni and Alessandro provide a thorough review of Buildah, Podman's best friend and a best-of-breed application for building container images. When I write about containers and Podman, one of my challenges when explaining concepts can be providing too many details or oversimplifying things. Gianni and Alessandro have found a perfect medium between both ends by supplying ample amounts of detail. I appreciated the carefully crafted explanations when the topic required them. Not only was the level of detail appropriate, but they also used a very wide scope when writing about Podman and containers. As I read the book, I was able to relate to their superb use of examples and they did not add layers of abstraction that can make learning difficult. Podman for DevOps was a pleasure to read. As a subject matter expert, I am certain it will be a perfect resource for those both new to and experienced with Podman and containers. Brent J. Baude, Senior Principal Software Engineer Podman Architect Contributors About the authors Alessandro Arrichiello is a solution architect for Red Hat Inc. with a special focus on telco technologies. He has a passion for GNU/Linux systems, which began at age 14 and continues today. He has worked with tools for automating enterprise IT: configuration management and continuous integration through virtual platforms. Alessandro is also a writer for the Red Hat Developer Blog, on which he has authored several articles about container architecture and technology. He now helps telecommunication customers with adopting container orchestration environments such as Red Hat OpenShift and Kubernetes, infrastructure as a service such as OpenStack, edge computing, and data center automation. Gianni Salinetti is a solution architect from Rome working for Red Hat Inc. with a special focus on cloud-native computing and hybrid cloud strategies. He started working with GNU/Linux back in 2001 and developed a passion for open source software. His main fields of interest are application orchestration, automation, and systems performance tuning. He is also an advocate of DevSecOps and GitOps practices. He is a former Red Hat instructor, having taught many classes about GNU/Linux, OpenStack, JBoss middleware, Ansible, Kubernetes, and Red Hat OpenShift. He won Red Hat EMEA awards as the best DevOps, cloud, and middleware instructor. He is also an author for the Red Hat Developer Blog and actively contributes to webinars and events. About the reviewers Nicolò Amato has over 20 years of experience working in the field of IT, 16 of which were at Hewlett Packard Enterprise, Accenture, DXC, and Red Hat Inc. Working in both technical and development roles has given him a broad base of skills and the ability to work with a diverse range of clients. His time was spent designing and implementing complex infrastructures for clients with the aim to migrate traditional services to hybrid, multi-cloud, and edge environments, evolving them into cloud-native services. He is enthusiastic about new technologies and he likes to be up to date – in particular with open source, which he considers one of the essences of technology that regulates the evolution of information technology. Pierluigi Rossi is a solution architect for Red Hat Inc. His passion for GNU/Linux systems began 20 years ago and continues today. He has built a strong business and technical know-how on enterprise and cutting-edge technologies, working for many companies on different verticals and roles in the last 20 years. He has worked with virtualization and containerization tools (open source and not). He has also participated in several projects for corporate IT automation. He is now working on distributed on-premises and cloud environments involving IaaS, PaaS (OpenShift and Kubernetes), and automation. He loves open source in all its shades, and he enjoys sharing ideas and solutions with customers, colleagues, and community members. Marco Alessandro Fagotto has been in the IT industry for 13 years, ranging across frontend and backend support, administration, system configuration, and security roles. Working in both technical and development roles has given him a broad base of skills and the ability to work with a diverse range of clients. He is a Red Hat Certified Professional, always looking for new technology and solutions to explore due to his interest in the fast evolution of the open source world. Table of Contents Preface Section 1: From Theory to Practice: Running Containers with Podman 1 Introduction to Container Technology Technical requirements 4 Infrastructure optimization 19 Book conventions 4 Microservices 20 Chroot and Unix v7 21 What are containers? 4 FreeBSD jails 21 Resource usage with cgroups 7 Solaris Containers (also known Running isolated processes 8 as Solaris Zones) 22 Isolating mounts 9 Linux Containers (LXC) 23 Container images to the rescue 10 Docker 25 Security considerations 13 rkt 25 Container engines and runtimes 14 OCI and CRI-O 26 Containers versus virtual machines 15 Podman 27 Why do I need a container? 17 Where are containers Open source 18 used today? 28 Portability 18 Summary 31 DevOps facilitators 18 Further reading 32 Cloud readiness 19

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.