Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Mastering Kubernetes
Mastering Kubernetes

Mastering Kubernetes: Master the art of container management by using the power of Kubernetes , Second Edition

eBook
$27.98 $39.99
Paperback
$48.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Table of content icon View table of contents Preview book icon Preview Book

Mastering Kubernetes

Creating Kubernetes Clusters

In the previous chapter, we learned what Kubernetes is all about, how it is designed, what concepts it supports, how to use its runtime engines, and how it fits within the CI/CD pipeline.

Creating a Kubernetes cluster is a non-trivial task. There are many options and tools to select from, and there are many factors to consider. In this chapter, we'll roll up our sleeves and build some Kubernetes clusters. We will also discuss and evaluate tools such as Minikube, kubeadm, kube-spray, bootkube, and stackube. We will also look into deployment environments, such as local, cloud, and bare metal. The topics we will cover are as follows:

  • Creating a single-node cluster with Minikube
  • Creating a multi-node cluster using kubeadm
  • Creating clusters in the cloud
  • Creating bare-metal clusters from scratch
  • Reviewing other options for creating Kubernetes clusters...

A quick single-node cluster with Minikube

In this section, we will create a single-node cluster on Windows. The reason we will use Windows is that Minikube and single-node clusters are most useful for local developer machines. While Kubernetes is typically deployed on Linux in production, many developers work on Windows PCs or Macs. That said, there aren't too many differences if you do want to install Minikube on Linux:

Getting ready

There are some prerequisites to install before you can create the cluster itself. These include VirtualBox, the kubectl command-line interface for Kubernetes, and, of course, Minikube itself. Here is a list of the latest versions at the time of writing:

Creating a multinode cluster using kubeadm

In this section, I'll introduce you to kubeadm, the recommended tool for creating Kubernetes clusters on all environments. It is still under active development, but it is the way to go because it is part of Kubernetes, and will always embody best practices. To make it accessible for the entire cluster, we will base it on VMs. This section is for readers who want a hands-on experience of deploying a multi-node cluster.

Setting expectations

Before embarking on this journey, I want to make it clear that it might not be a smooth ride. kubeadm has a difficult task: It has to follow the evolution of Kubernetes itself, which is a moving target. As a result, it is not always stable...

Creating clusters in the cloud (GCP, AWS, and Azure)

Creating clusters locally is fun, and important during development and when trying to troubleshoot problems locally. But in the end, Kubernetes is designed for cloud-native applications (applications that run in the cloud). Kubernetes doesn't want to be aware of individual cloud environments because that doesn't scale. Instead, Kubernetes has the concept of a cloud-provider interface. Every cloud provider can implement this interface and then host Kubernetes. Note that, as of version 1.5, Kubernetes still maintains implementations for many cloud providers in its tree, but in the future, they will be refactored out.

The cloud-provider interface

The cloud-provider...

Creating a bare-metal cluster from scratch

In the previous section, we looked at running Kubernetes on cloud providers. This is the dominant deployment story for Kubernetes, but there are strong use cases for running Kubernetes on bare metal. I don't focus here on hosted versus on-premises; this is yet another dimension. If you already manage a lot of servers on-premises, you are in the best position to decide.

Use cases for bare metal

Bare-metal clusters are a beast especially if you manage them yourself. There are companies that provide commercial support for bare-metal Kubernetes clusters, such as Platform 9, but the offerings are not mature yet. A solid open-source option is Kubespray, which can deploy industrial...

The process

There is a lot to do. Here is a list of some of the concerns you'll have to address:

  • Implementing your own cloud provider's interface or sidestepping it
  • Choosing a networking model and how to implement it (using a CNI plugin or directly compiling)
  • Whether or not to use a network policy
  • Select images for system components
  • Security models and SSL certificates
  • Admin credentials
  • Templates for components such as an API server, replication controller, and scheduler
  • Cluster services such as DNS, logging, monitoring, and GUI

I recommend reading the guide at the Kubernetes site (http://bit.ly/1ToR9EC) to get a deeper understanding of what it takes to create a cluster from scratch.

Using virtual private cloud infrastructure

If your use case falls under the bare-metal use cases, but you don't have the necessary skilled manpower or the inclination to deal with the infrastructure challenges of bare metal, you have the option of using a private cloud such as OpenStack (for example, with stackube). If you want to aim a little higher in the abstraction ladder, then Mirantis offers a cloud platform built on top of OpenStack and Kubernetes.

In this section, we considered the option of building a bare-metal cluster Kubernetes cluster. We looked into the use cases that require it and highlighted the challenges and difficulties.

Bootkube

Bootkube is very interesting too. It can launch self-hosted Kubernetes...

Summary

In this chapter, we got into some hands-on cluster creation. We created a single-node cluster using Minikube and a multi-node cluster using kubeadm. Then we looked at the many options to create Kubernetes clusters using cloud providers. Finally, we touched on the complexities of creating Kubernetes clusters on bare metal. The current state of affairs is very dynamic. The basic components are changing rapidly, the tooling is still young, and there are different options for each environment. It's not completely trivial to set up a Kubernetes cluster, but with some effort and attention to detail, you can get it done quickly.

In the next chapter, we will explore the important topics of monitoring, logging, and troubleshooting. Once your cluster is up and running and you start deploying workloads, you need to make sure that it runs properly and satisfies requirements....

Left arrow icon Right arrow icon

Key benefits

  • •Explore the latest features available in Kubernetes 1.10
  • •Ensure that your clusters are always available, scalable, and up to date
  • •Master the skills of designing and deploying large clusters on various cloud platforms

Description

Kubernetes is an open source system that is used to automate the deployment, scaling, and management of containerized applications. If you are running more containers or want automated management of your containers, you need Kubernetes at your disposal. To put things into perspective, Mastering Kubernetes walks you through the advanced management of Kubernetes clusters. To start with, you will learn the fundamentals of both Kubernetes architecture and Kubernetes design in detail. You will discover how to run complex stateful microservices on Kubernetes including advanced features such as horizontal pod autoscaling, rolling updates, resource quotas, and persistent storage backend. Using real-world use cases, you will explore the options for network configuration, and understand how to set up, operate, and troubleshoot various Kubernetes networking plugins. In addition to this, you will get to grips with custom resource development and utilization in automation and maintenance workflows. To scale up your knowledge of Kubernetes, you will encounter some additional concepts based on the Kubernetes 1.10 release, such as Promethus, Role-based access control, API aggregation, and more. By the end of this book, you’ll know everything you need to graduate from intermediate to advanced level of understanding Kubernetes.

Who is this book for?

Mastering Kubernetes is for you if you are a system administrator or a developer who has an intermediate understanding of Kubernetes and wish to master its advanced features. Basic knowledge of networking would also be helpful. In all, this advanced-level book provides a smooth pathway to mastering 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
  • •Understand the identity model of Kubernetes, along with the 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
  • •Enjoy the art of running complex stateful applications in your container environment
  • •Deliver applications as standard packages

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Apr 27, 2018
Length: 468 pages
Edition : 2nd
Language : English
ISBN-13 : 9781788999977
Vendor :
Google
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want

Product Details

Publication date : Apr 27, 2018
Length: 468 pages
Edition : 2nd
Language : English
ISBN-13 : 9781788999977
Vendor :
Google
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 141.97
Getting Started with Kubernetes
$48.99
Kubernetes Cookbook
$43.99
Mastering Kubernetes
$48.99
Total $ 141.97 Stars icon

Table of Contents

15 Chapters
Understanding Kubernetes Architecture Chevron down icon Chevron up icon
Creating Kubernetes Clusters Chevron down icon Chevron up icon
Monitoring, Logging, and Troubleshooting Chevron down icon Chevron up icon
High Availability and Reliability Chevron down icon Chevron up icon
Configuring Kubernetes Security, Limits, and Accounts Chevron down icon Chevron up icon
Using Critical Kubernetes Resources Chevron down icon Chevron up icon
Handling Kubernetes Storage Chevron down icon Chevron up icon
Running Stateful Applications with Kubernetes Chevron down icon Chevron up icon
Rolling Updates, Scalability, and Quotas Chevron down icon Chevron up icon
Advanced Kubernetes Networking Chevron down icon Chevron up icon
Running Kubernetes on Multiple Clouds and Cluster Federation Chevron down icon Chevron up icon
Customizing Kubernetes – API and Plugins Chevron down icon Chevron up icon
Handling the Kubernetes Package Manager Chevron down icon Chevron up icon
The Future of Kubernetes Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Most Recent
Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.6
(10 Ratings)
5 star 60%
4 star 0%
3 star 10%
2 star 0%
1 star 30%
Filter icon Filter
Most Recent

Filter reviews by




Derek H Jul 16, 2020
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
One one hand, you want to find a place that have all the information you need to know about Kubernetes. This might be a good candidate. However, on the other hand, it's not easy to cover every topic in detail. You will still need to dive into technical blogs with more explanation.
Amazon Verified review Amazon
Andrey Dec 14, 2019
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
Very outdated (about K8s 1.10 with 1.17 available) with very simple describing problems and especially solutions. Many chapters ends with "now you know how" but no, we just read some headlines about it and not really knew them yet. Many excuses like "I use this because Ubuntu distro is broken" which is false statement. Some like "you will see an error but nevermind". Why shouldn't I not mind an error?As well as second edition it should be better checked for mistyping like "Promethus" instead of "Prometheus".
Amazon Verified review Amazon
Sheena Nov 22, 2019
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
This book is terrible. It reads like a blog of someone’s notes...not well thought out. Software referenced is seriously outdated. The previous 5 star reviews had to have been bought.
Amazon Verified review Amazon
RR Aug 31, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book helped me cofound my own startup. An inspirational read by an inspirational author.
Amazon Verified review Amazon
Ilanit Rimon Aug 21, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
In "Mastering Kubernetes" 2nd Edition Gigi takes on a very ambitious task, which is to explain the intrinsics all the way up to the master-plan of a large open-source projects such as Kubernetes and several other supporting projects (such as Helm, Docker and others). In fact, it is not hard to imagine a series of 14 books, each one created out of this book's 14 chapters. Whether it's "Configuring Kubernetes Security", "Advanced Kubernetes Networking" etc, there is so much information in each chapter that can easily be extended to a whole book. Alas, you cannot help but feel that some compromise had been made in order to fit all this material into one book.This is by no means a "for dummies" book, although it goes through some basic Kubernetes terminology it does not attempt to teach you everything from the ground up. It is also not a reference guide, it will not cover every single API call that is available in the Kubernetes world, you will have to go online and research that yourself.In its fun and light-handed way, Gigi compresses the vast coverage of the material by choosing to go over only the practical aspects of Kubernetes, and its supporting projects which Gigi believes you will most likely want to consider for your current or future projects. It is encouraging to read a book that is written by an actual implementer of systems and not just a theoretical practitioner. If you already have a good grasp of Kubernetes but you wish to learn from the experiences of a fellow Kubernetes expert, the price of this book is a small price to pay for such a great knowledge exchange.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.