The 2024 edition is fully updated for Kubernetes v1.29 and all the latest trends in the cloud-native ecosystem. Do you need to figure out what Kubernetes is all about? Do you like learning through hands-on? If yes, this is the book for you... Quick Start Kubernetes, brought to you by best-selling author Nigel Poulton, assumes zero prior experience and gets you to the point you can hold your own in a conversation with an expert, and deploy simple applications. And it does it in less than 100 pages! You'll learn: What Kubernetes is Why we have Kubernetes The role Kubernetes will play in the future of infrastructure and applications You'll also perform the following hands-on tasks: Build a Kubernetes cluster Containerize an app Deploy the app to Kubernetes Break the app and watch it self-heal Scale the app Perform a rolling update Along the way, Nigel explains everything as clearly as possible and busts every piece of jargon. When you're done, you'll be in love with Kubernetes and ready to take your journey to the next level.
Containers have revolutionised the way we package and run applications. However, like most things, containers come with a bunch of challenges. This is where Kubernetes comes into play. Kubernetes helps you deploy and manage containerised applications at scale. It also abstracts the underlying infrastructure so that you don't need to care if you're deploying applications to Amazon Web Services, Microsoft Azure, or your own on-premises datacenter. With Kubernetes, you can develop applications on your laptop, deploy to your favourite cloud platform, migrate to a different cloud platform, and even migrate to your on-premises datacenters. Finally, Kubernetes and cloud technologies are developing fast! That's why this book will be updated every year, meaning it's always up-to-date with the latest versions of Kubernetes and the latest trends in the cloud-native ecosystem. --
Legend has it that Google deploys over two billion application containers a week. How’s that possible? Google revealed the secret through a project called Kubernetes, an open source cluster orchestrator (based on its internal Borg system) that radically simplifies the task of building, deploying, and maintaining scalable distributed systems in the cloud. This practical guide shows you how Kubernetes and container technology can help you achieve new levels of velocity, agility, reliability, and efficiency. Authors Kelsey Hightower, Brendan Burns, and Joe Beda—who’ve worked on Kubernetes at Google and other organizatons—explain how this system fits into the lifecycle of a distributed application. You will learn how to use tools and APIs to automate scalable distributed systems, whether it is for online services, machine-learning applications, or a cluster of Raspberry Pi computers. Explore the distributed system challenges that Kubernetes addresses Dive into containerized application development, using containers such as Docker Create and run containers on Kubernetes, using the docker image format and container runtime Explore specialized objects essential for running applications in production Reliably roll out new software versions without downtime or errors Get examples of how to develop and deploy real-world applications in Kubernetes
Summary Kubernetes in Action is a comprehensive guide to effectively developing and running applications in a Kubernetes environment. Before diving into Kubernetes, the book gives an overview of container technologies like Docker, including how to build containers, so that even readers who haven't used these technologies before can get up and running. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Kubernetes is Greek for "helmsman," your guide through unknown waters. The Kubernetes container orchestration system safely manages the structure and flow of a distributed application, organizing containers and services for maximum efficiency. Kubernetes serves as an operating system for your clusters, eliminating the need to factor the underlying network and server infrastructure into your designs. About the Book Kubernetes in Action teaches you to use Kubernetes to deploy container-based distributed applications. You'll start with an overview of Docker and Kubernetes before building your first Kubernetes cluster. You'll gradually expand your initial application, adding features and deepening your knowledge of Kubernetes architecture and operation. As you navigate this comprehensive guide, you'll explore high-value topics like monitoring, tuning, and scaling. What's Inside Kubernetes' internals Deploying containers across a cluster Securing clusters Updating applications with zero downtime About the Reader Written for intermediate software developers with little or no familiarity with Docker or container orchestration systems. About the Author Marko Luksa is an engineer at Red Hat working on Kubernetes and OpenShift. Table of Contents PART 1 - OVERVIEW Introducing Kubernetes First steps with Docker and Kubernetes PART 2 - CORE CONCEPTS Pods: running containers in Kubernetes Replication and other controllers: deploying managed pods Services: enabling clients to discover and talk to pods Volumes: attaching disk storage to containers ConfigMaps and Secrets: configuring applications Accessing pod metadata and other resources from applications Deployments: updating applications declaratively StatefulSets: deploying replicated stateful applications PART 3 - BEYOND THE BASICS Understanding Kubernetes internals Securing the Kubernetes API server Securing cluster nodes and the network Managing pods' computational resources Automatic scaling of pods and cluster nodes Advanced scheduling Best practices for developing apps Extending Kubernetes
This book is designed to help newcomers and experienced users alike learn about Kubernetes. Its chapters are designed to introduce core Kubernetes concepts and to build on them to a level where running an application on a production cluster is a familiar, repeatable, and automated process. From there, more advanced topics are introduced, like how to manage a Kubernetes cluster itself.
Master the art of container management utilizing the power of Kubernetes. About This Book This practical guide demystifies Kubernetes and ensures that your clusters are always available, scalable, and up to date Discover new features such as autoscaling, rolling updates, resource quotas, and cluster size Master the skills of designing and deploying large clusters on various cloud platforms Who This Book Is For The book is for system administrators and developers who have intermediate level of knowledge with Kubernetes and are now waiting to master its advanced features. You should also have basic networking knowledge. This advanced-level book provides a pathway to master Kubernetes. What You Will Learn Architect a robust Kubernetes cluster for long-time operation Discover the advantages of running Kubernetes on GCE, AWS, Azure, and bare metal See the identity model of Kubernetes and options for cluster federation Monitor and troubleshoot Kubernetes clusters and run a highly available Kubernetes Create and configure custom Kubernetes resources and use third-party resources in your automation workflows Discover the art of running complex stateful applications in your container environment Deliver applications as standard packages In Detail Kubernetes is an open source system to automate the deployment, scaling, and management of containerized applications. If you are running more than just a few containers or want automated management of your containers, you need Kubernetes. This book mainly focuses on the advanced management of Kubernetes clusters. It covers problems that arise when you start using container orchestration in production. We start by giving you an overview of the guiding principles in Kubernetes design and show you the best practises in the fields of security, high availability, and cluster federation. You will discover how to run complex stateful microservices on Kubernetes including advanced features as horizontal pod autoscaling, rolling updates, resource quotas, and persistent storage back ends. Using real-world use cases, we explain the options for network configuration and provides guidelines on how to set up, operate, and troubleshoot various Kubernetes networking plugins. Finally, we cover custom resource development and utilization in automation and maintenance workflows. By the end of this book, you'll know everything you need to know to go from intermediate to advanced level. Style and approach Delving into the design of the Kubernetes platform, the reader will be exposed to the advanced features and best practices of Kubernetes. This book will be an advanced level book which will provide a pathway to master Kubernetes
A clear and practical beginner’s guide that shows you just how easy it can be to make the switch to Kubernetes! Kubernetes for Developers reveals practical and painless methods for deploying your apps on Kubernetes—even for small-to-medium sized applications! You’ll learn how to migrate your existing apps onto Kubernetes without a rebuild, and implement modern cloud native architectures that can handle your future growth. Inside, you’ll learn how to: Containerize a web application with Docker Host a containerized app on Kubernetes with a public cloud service Save money and improve performance with cloud native technologies Make your deployments reliable and fault tolerant Prepare your deployments to scale without a redesign Monitor, debug and tune application deployments on Kubernetes Designed for busy working developers, this hands-on guide helps your first steps into Kubernetes using the powerful Google Kubernetes Engine (GKE) service. Learn how the GKE’s powerful automation tools can perform automatic checks and scaling, giving you more time to spend developing great applications. You’ll soon see that you don’t need to incur huge costs or have the manpower of an enterprise organization to get a productivity boost from Kubernetes! About the technology Modern software needs to perform at scale while effectively handling load balancing, state and security. Kubernetes makes these tasks easier and more reliable for apps of any size. This book, written especially for software developers creating applications that run on Kubernetes, shows you exactly how to address these and other important issues. About the book Kubernetes for Developers covers everything you need to know to containerize and deploy an app on Kubernetes from the developer’s perspective. You’ll start by creating a small application you can run on a cloud-based Kubernetes cluster. Then, you’ll systematically explore best practices for stable long-term deployment, including scaling, capacity planning, and resource optimization. What's inside Deploying reliable web applications using automated operations Scaling up without an application redesign Monitoring, debugging, and tuning workloads About the reader For developers familiar with building or deploying web applications. No Docker or Kubernetes experience required. About the author William Denniss is a product manager at Google working on Google Kubernetes Engine. Table of Contents PART 1 Getting started with Kubernetes 1 Kubernetes for application deployment 2 Containerizing apps 3 Deploying to Kubernetes 4 Automated operations 5 Resource management PART 2 Going to production 6 Scaling up 7 Internal services and load balancing 8 Node feature selection 9 Stateful applications 10 Background processing 11 GitOps: Configuration as code 12 Securing Kubernetes
Apply Kubernetes beyond the basics of Kubernetes clusters by implementing IAM using OIDC and Active Directory, Layer 4 load balancing using MetalLB, advanced service integration, security, auditing, and CI/CD Key Features Find out how to add enterprise features to a Kubernetes cluster with theory and exercises to guide you Understand advanced topics including load balancing, externalDNS, IDP integration, security, auditing, backup, and CI/CD Create development clusters for unique testing requirements, including running multiple clusters on a single server to simulate an enterprise environment Book DescriptionContainerization has changed the DevOps game completely, with Docker and Kubernetes playing important roles in altering the flow of app creation and deployment. This book will help you acquire the knowledge and tools required to integrate Kubernetes clusters in an enterprise environment. The book begins by introducing you to Docker and Kubernetes fundamentals, including a review of basic Kubernetes objects. You’ll then get to grips with containerization and understand its core functionalities, including how to create ephemeral multinode clusters using kind. As you make progress, you’ll learn about cluster architecture, Kubernetes cluster deployment, and cluster management, and get started with application deployment. Moving on, you’ll find out how to integrate your container to a cloud platform and integrate tools including MetalLB, externalDNS, OpenID connect (OIDC), pod security policies (PSPs), Open Policy Agent (OPA), Falco, and Velero. Finally, you will discover how to deploy an entire platform to the cloud using continuous integration and continuous delivery (CI/CD). By the end of this Kubernetes book, you will have learned how to create development clusters for testing applications and Kubernetes components, and be able to secure and audit a cluster by implementing various open-source solutions including OpenUnison, OPA, Falco, Kibana, and Velero.What you will learn Create a multinode Kubernetes cluster using kind Implement Ingress, MetalLB, and ExternalDNS Configure a cluster OIDC using impersonation Map enterprise authorization to Kubernetes Secure clusters using PSPs and OPA Enhance auditing using Falco and EFK Back up your workload for disaster recovery and cluster migration Deploy to a platform using Tekton, GitLab, and ArgoCD Who this book is for This book is for anyone interested in DevOps, containerization, and going beyond basic Kubernetes cluster deployments. DevOps engineers, developers, and system administrators looking to enhance their IT career paths will also find this book helpful. Although some prior experience with Docker and Kubernetes is recommended, this book includes a Kubernetes bootcamp that provides a description of Kubernetes objects to help you if you are new to the topic or need a refresher.
The way developers design, build, and run software has changed significantly with the evolution of microservices and containers. These modern architectures use new primitives that require a different set of practices than most developers, tech leads, and architects are accustomed to. With this focused guide, Bilgin Ibryam and Roland Huß from Red Hat provide common reusable elements, patterns, principles, and practices for designing and implementing cloud-native applications on Kubernetes. Each pattern includes a description of the problem and a proposed solution with Kubernetes specifics. Many patterns are also backed by concrete code examples. This book is ideal for developers already familiar with basic Kubernetes concepts who want to learn common cloud native patterns. You’ll learn about the following pattern categories: Foundational patterns cover the core principles and practices for building container-based cloud-native applications. Behavioral patterns explore finer-grained concepts for managing various types of container and platform interactions. Structural patterns help you organize containers within a pod, the atom of the Kubernetes platform. Configuration patterns provide insight into how application configurations can be handled in Kubernetes. Advanced patterns covers more advanced topics such as extending the platform with operators.
Take a deep dive into Kubernetes inner components and discover what really powers a Kubernetes cluster. This in-depth guide shines a light on Kubernetes' murky internals, to help you better plan cloud native architectures and ensure the reliability of your systems. In Core Kubernetes you will learn about: Kubernetes base components Kubernetes networking Storage and the Container Storage Interface External load balancing and ingress Kubernetes security Different ways of creating a Kubernetes cluster Configuring Kubernetes to use a GPU To build and operate reliable Kubernetes-based systems, you need to understand what’s going on below the surface. Core Kubernetes is an in-depth guide to Kubernetes’ internal workings written by Kubernetes contributors Chris Love and Jay Vyas. It’s packed with experience-driven insights and advanced techniques you won’t find anywhere else. You’ll understand the unique security concerns of container-based applications, minimize costly unused capacity, and get pro tips for maximizing performance. Diagrams, labs, and hands-on examples ensure that the complex ideas are easy to understand and practical to apply. About the technology Real-world Kubernetes deployments are messy. Even small configuration errors or design problems can bring your system to its knees. In the real world, it pays to know how each component works so you can quickly troubleshoot, reset, and get on to the next challenge. This one-of-a-kind book includes the details, hard-won advice, and pro tips to keep your Kubernetes apps up and running. About the book This book is a tour of Kubernetes under the hood, from managing iptables to setting up dynamically scaled clusters that respond to changes in load. Every page will give you new insights on setting up and managing Kubernetes and dealing with inevitable curveballs. Core Kubernetes is a comprehensive reference guide to maintaining Kubernetes deployments in production. What's inside Kubernetes base components Storage and the Container Storage Interface Kubernetes security Different ways of creating a Kubernetes cluster Details about the control plane, networking, and other core components About the reader For intermediate Kubernetes developers and administrators. About the author Jay Vyas and Chris Love are seasoned Kubernetes developers. Table of Contents 1 Why Kubernetes exists 2 Why the Pod? 3 Let’s build a Pod 4 Using cgroups for processes in our Pods 5 CNIS and providing the Pod with a network 6 Troubleshooting large-scale network errors 7 Pod storage and the CSI 8 Storage implementation and modeling 9 Running Pods: How the kubelet works 10 DNS in Kubernetes 11 The core of the control plane 12 etcd and the control plane 13 Container and Pod security 14 Nodes and Kubernetes security 15 Installing applications