Book Image

Cloud Native with Kubernetes

By : Alexander Raul
Book Image

Cloud Native with Kubernetes

By: Alexander Raul

Overview of this book

Kubernetes is a modern cloud native container orchestration tool and one of the most popular open source projects worldwide. In addition to the technology being powerful and highly flexible, Kubernetes engineers are in high demand across the industry. This book is a comprehensive guide to deploying, securing, and operating modern cloud native applications on Kubernetes. From the fundamentals to Kubernetes best practices, the book covers essential aspects of configuring applications. You’ll even explore real-world techniques for running clusters in production, tips for setting up observability for cluster resources, and valuable troubleshooting techniques. Finally, you’ll learn how to extend and customize Kubernetes, as well as gaining tips for deploying service meshes, serverless tooling, and more on your cluster. By the end of this Kubernetes book, you’ll be equipped with the tools you need to confidently run and extend modern applications on Kubernetes.
Table of Contents (22 chapters)
1
Section 1: Setting Up Kubernetes
5
Section 2: Configuring and Deploying Applications on Kubernetes
11
Section 3: Running Kubernetes in Production
16
Section 4: Extending Kubernetes

Implementing messaging and queues on Kubernetes

For messaging, we will be implementing RabbitMQ, an open source message queue system that supports Kubernetes. Messaging systems are typically used in applications to decouple various components of the application in order to support the scale and throughput, as well as asynchronous patterns such as retries and service worker fleets. For instance, instead of one service calling another service directly, a service could place a message onto a persistent message queue, at which point it would be picked up by a worker container that is listening to the queue. This allows for easy horizontal scaling and greater tolerance of entire component downtime as compared to a load balancing approach.

RabbitMQ is one of many options for message queues. As we mentioned in the first section of the chapter, RabbitMQ is an industry-standard option for message queues, not necessarily a queue system built for Kubernetes specifically. However, it's...