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

Understanding Services and cluster DNS

In the last few chapters, we've talked about how to run applications effectively on Kubernetes using resources including Pods, Deployments, and StatefulSets. However, many applications, such as web servers, need to be able to accept network requests from outside their containers. These requests could come either from other applications or from devices accessing the public internet.

Kubernetes provides several types of resources to handle various scenarios when it comes to allowing resources outside and inside the cluster to access applications running on Pods, Deployments, and more.

These fall into two major resource types, Services and Ingress:

  • Services have several subtypes – ClusterIP, NodePort, and LoadBalancer – and are generally used to provide simple access to a single application from inside or outside the cluster.
  • Ingress is a more advanced resource that creates a controller that takes care of pathname...