Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
The Kubernetes Bible

You're reading from   The Kubernetes Bible The definitive guide to deploying and managing Kubernetes across major cloud platforms

Arrow left icon
Product type Paperback
Published in Feb 2022
Publisher Packt
ISBN-13 9781838827694
Length 680 pages
Edition 1st Edition
Arrow right icon
Authors (3):
Arrow left icon
Nassim Kebbani Nassim Kebbani
Author Profile Icon Nassim Kebbani
Nassim Kebbani
Piotr Tylenda Piotr Tylenda
Author Profile Icon Piotr Tylenda
Piotr Tylenda
Russ McKendrick Russ McKendrick
Author Profile Icon Russ McKendrick
Russ McKendrick
Arrow right icon
View More author details
Toc

Table of Contents (28) Chapters Close

Preface 1. Section 1: Introducing Kubernetes
2. Chapter 1: Kubernetes Fundamentals FREE CHAPTER 3. Chapter 2: Kubernetes Architecture – From Docker Images to Running Pods 4. Chapter 3: Installing Your First Kubernetes Cluster 5. Section 2: Diving into Kubernetes Core Concepts
6. Chapter 4: Running Your Docker Containers 7. Chapter 5: Using Multi-Container Pods and Design Patterns 8. Chapter 6: Configuring Your Pods Using ConfigMaps and Secrets 9. Chapter 7: Exposing Your Pods with Services 10. Chapter 8: Managing Namespaces in Kubernetes 11. Chapter 9: Persistent Storage in Kubernetes 12. Section 3: Using Managed Pods with Controllers
13. Chapter 10: Running Production-Grade Kubernetes Workloads 14. Chapter 11: Deployment – Deploying Stateless Applications 15. Chapter 12: StatefulSet – Deploying Stateful Applications 16. Chapter 13: DaemonSet – Maintaining Pod Singletons on Nodes 17. Section 4: Deploying Kubernetes on the Cloud
18. Chapter 14: Kubernetes Clusters on Google Kubernetes Engine 19. Chapter 15: Launching a Kubernetes Cluster on Amazon Web Services with Amazon Elastic Kubernetes Service 20. Chapter 16: Kubernetes Clusters on Microsoft Azure with Azure Kubernetes Service 21. Section 5: Advanced Kubernetes
22. Chapter 17: Working with Helm Charts 23. Chapter 18: Authentication and Authorization on Kubernetes 24. Chapter 19: Advanced Techniques for Scheduling Pods 25. Chapter 20: Autoscaling Kubernetes Pods and Nodes 26. Chapter 21: Advanced Traffic Routing with Ingress 27. Other Books You May Enjoy

How can Kubernetes help you to manage your Docker containers?

Now, we will focus a little bit more on Kubernetes, which is the purpose of this book. Here, we're going to discover that Kubernetes was meant to use container runtimes in production, by answering operational needs mandatory for production.

Understanding that Kubernetes is meant to use Docker in production

If you open the official Kubernetes website (at https://kubernetes.io), the title you will see is Production-Grade Container Orchestration:

Figure 1.5 – The Kubernetes home page showing the header and introducing Kubernetes as a production container orchestration platform

Figure 1.5 – The Kubernetes home page showing the header and introducing Kubernetes as a production container orchestration platform

These four words perfectly sum up what Kubernetes is: it is a container orchestration platform for production. Kubernetes does not aim to replace Docker nor any of the features of Docker; rather, it aims to help us to manage clusters of machines running Docker. When working with Kubernetes, you use both Kubernetes and the full-featured standard installations of Docker.

The title refers to production. Indeed, the concept of production is absolutely central to Kubernetes: it was thought and designed to answer modern production needs. Managing production workloads is different today compared to what it was in the 2000s. Back in the 2000s, your production workload would consist of just a few bare metal servers, if not a single one on-premises. These servers mostly ran monoliths directly installed on the host Linux system. However, today, thanks to public cloud platforms such as Amazon Web Services (AWS) or Google Cloud Platform (GCP), anyone can now get hundreds or even thousands of machines in the form of instances or virtual machines with just a few clicks. Even better, we no longer deploy our applications on the host system but as containerized microservices on top of the Docker engine instead, thereby reducing the footprint of the host system.

A problem will arise when you have to manage Docker installations on each of these virtual machines on the cloud. Let's imagine that you have 10 (or 100 or 1,000) machines launched on your preferred cloud and you want to achieve a very simple task: deploy a containerized Docker app on each of these machines.

You could do this by running the docker run command on each of your machines. It would work, but of course, there is a better way to do it. And that's by using a container orchestrator such as Kubernetes. To give you an extremely simplified vision of Kubernetes, it is actually a REST API that keeps a registry of your machines executing a Docker daemon.

Again, this is an extremely simplified definition of Kubernetes. In fact, it's not made of a single centralized REST API, because as you might have gathered, Kubernetes itself was built as a suite of microservices.

You have been reading a chapter from
The Kubernetes Bible
Published in: Feb 2022
Publisher: Packt
ISBN-13: 9781838827694
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime