Core Kubernetes


Book Description

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




Kubernetes Patterns


Book Description

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.




GitOps and Kubernetes


Book Description

Part 1. Background. 1. Why GitOps? -- 2. Kubernetes and GitOps -- Part 2. Patterns and processes. 3. Environment management -- 4. Pipelines -- 5. Deployment strategies -- 6. Access control and security -- 7. Secrets -- 8. Observability -- Part 3. Tools. 9. Argo CD -- 10. Jenkins X -- 11. Flux.




Kubernetes: Up and Running


Book Description

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




Managing Kubernetes


Book Description

While Kubernetes has greatly simplified the task of deploying containerized applications, managing this orchestration framework on a daily basis can still be a complex undertaking. With this practical book, site reliability and DevOps engineers will learn how to build, operate, manage, and upgrade a Kubernetes cluster—whether it resides on cloud infrastructure or on-premises. Brendan Burns, cofounder of Kubernetes, and Craig Tracey, staff field engineer at Heptio, dissect how Kubernetes works internally and demonstrate ways to maintain, adjust, and improve the cluster to suit your particular use case. You’ll learn how to make architectural choices for designing a cluster, managing access control, monitoring and alerting, and upgrading Kubernetes. Dive in and discover how to take full advantage of this orchestration framework’s capabilities. Learn how your cluster operates, how developers use it to deploy applications, and how Kubernetes can facilitate a developer’s job Adjust, secure, and tune your cluster by understanding Kubernetes APIs and configuration options Detect cluster-level problems early and learn the steps necessary to respond and recover quickly Determine how and when to add libraries, tools, and platforms that build on, extend, or otherwise improve a Kubernetes cluster




Programming Kubernetes


Book Description

If you’re looking to develop native applications in Kubernetes, this is your guide. Developers and AppOps administrators will learn how to build Kubernetes-native applications that interact directly with the API server to query or update the state of resources. AWS developer advocate Michael Hausenblas and Red Hat principal software engineer Stefan Schimanski explain the characteristics of these apps and show you how to program Kubernetes to build them. You’ll explore the basic building blocks of Kubernetes, including the client-go API library and custom resources. All you need to get started is a rudimentary understanding of development and system administration tools and practices, such as package management, the Go programming language, and Git. Walk through Kubernetes API basics and dive into the server’s inner structure Explore Kubernetes’s programming interface in Go, including Kubernetes API objects Learn about custom resources—the central extension tools used in the Kubernetes ecosystem Use tags to control Kubernetes code generators for custom resources Write custom controllers and operators and make them production ready Extend the Kubernetes API surface by implementing a custom API server




The Kubernetes Book


Book Description

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. --




Kubernetes in Action


Book Description

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




Mastering Kubernetes


Book Description

Go beyond the basics of Kubernetes and explore more advanced concepts, including Kubernetes in production, governance, serverless computing, and service meshes. Purchase of the print or Kindle book includes a free eBook in PDF format. Key Features Master Kubernetes architecture and design to build, deploy, and secure large-scale distributed systems Learn advanced concepts like autoscaling, multi-cluster management, serverless computing, service meshes and policy engines Explore Kubernetes 1.25 and its rich ecosystem of tools like Kubectl, Krew, K9s, Lens, and Helm Book DescriptionThe fourth edition of the bestseller Mastering Kubernetes includes the most recent tools and code to enable you to learn the latest features of Kubernetes 1.25. This book contains a thorough exploration of complex concepts and best practices to help you master the skills of designing and deploying large-scale distributed systems on Kubernetes clusters. You’ll learn how to run complex stateless and stateful microservices on Kubernetes, including advanced features such as horizontal pod autoscaling, rolling updates, resource quotas, and persistent storage backends. In addition, you’ll understand how to utilize serverless computing and service meshes. Further, two new chapters have been added. “Governing Kubernetes” covers the problem of policy management, how admission control addresses it, and how policy engines provide a powerful governance solution. “Running Kubernetes in Production” shows you what it takes to run Kubernetes at scale across multiple cloud providers, multiple geographical regions, and multiple clusters, and it also explains how to handle topics such as upgrades, capacity planning, dealing with cloud provider limits/quotas, and cost management. By the end of this Kubernetes book, you’ll have a strong understanding of, and hands-on experience with, a wide range of Kubernetes capabilities.What you will learn Learn how to govern Kubernetes using policy engines Learn what it takes to run Kubernetes in production and at scale Build and run stateful applications and complex microservices Master Kubernetes networking with services, Ingress objects, load balancers, and service meshes Achieve high availability for your Kubernetes clusters Improve Kubernetes observability with tools such as Prometheus, Grafana, and Jaeger Extend Kubernetes with the Kubernetes API, plugins, and webhooks Who this book is for If you're a system administrator or cloud developer who wants to become comfortable with Kubernetes and would like to master its advanced features, then this book is for you. Software and DevOps engineers with a working knowledge of Kubernetes, as well as technical managers of Kubernetes-based systems, will also find this book useful. Those deciding on whether to migrate to Kubernetes and are curious about its inner workings will find plenty of answers here as well. Basic familiarity with networking concepts will prove beneficial.




Kubernetes Operators


Book Description

Operators are a way of packaging, deploying, and managing Kubernetes applications. A Kubernetes application doesn't just run on Kubernetes; it's composed and managed in Kubernetes terms. Operators add application-specific operational knowledge to a Kubernetes cluster, making it easier to automate complex, stateful applications and to augment the platform. Operators can coordinate application upgrades seamlessly, react to failures automatically, and streamline repetitive maintenance like backups. Think of Operators as site reliability engineers in software. They work by extending the Kubernetes control plane and API, helping systems integrators, cluster administrators, and application developers reliably deploy and manage key services and components. Using real-world examples, authors Jason Dobies and Joshua Wood demonstrate how to use Operators today and how to create Operators for your applications with the Operator Framework and SDK. Learn how to establish a Kubernetes cluster and deploy an Operator Examine a range of Operators from usage to implementation Explore the three pillars of the Operator Framework: the Operator SDK, the Operator Lifecycle Manager, and Operator Metering Build Operators from the ground up using the Operator SDK Build, package, and run an Operator in development, testing, and production phases Learn how to distribute your Operator for installation on Kubernetes clusters