Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
The Complete Kubernetes Guide

You're reading from   The Complete Kubernetes Guide Become an expert in container management with the power of Kubernetes

Arrow left icon
Product type Course
Published in May 2019
Publisher Packt
ISBN-13 9781838647346
Length 628 pages
Edition 1st Edition
Arrow right icon
Authors (3):
Arrow left icon
Jesse White Jesse White
Author Profile Icon Jesse White
Jesse White
Gigi Sayfan Gigi Sayfan
Author Profile Icon Gigi Sayfan
Gigi Sayfan
Jonathan Baier Jonathan Baier
Author Profile Icon Jonathan Baier
Jonathan Baier
Arrow right icon
View More author details
Toc

Table of Contents (26) Chapters Close

Title Page
Copyright and Credits
About Packt
Contributors
Preface
1. Introduction to Kubernetes 2. Understanding Kubernetes Architecture FREE CHAPTER 3. Building a Foundation with Core Kubernetes Constructs 4. Working with Networking, Load Balancers, and Ingress 5. Using Critical Kubernetes Resources 6. Exploring Kubernetes Storage Concepts 7. Monitoring and Logging 8. Monitoring, Logging, and Troubleshooting 9. Operating Systems, Platforms, and Cloud and Local Providers 10. Creating Kubernetes Clusters 11. Cluster Federation and Multi-Tenancy 12. Cluster Authentication, Authorization, and Container Security 13. Running Stateful Applications with Kubernetes 14. Rolling Updates, Scalability, and Quotas 15. Advanced Kubernetes Networking 16. Kubernetes Infrastructure Management 17. Customizing Kubernetes - API and Plugins 18. Handling the Kubernetes Package Manager 19. The Future of Kubernetes 1. Other Books You May Enjoy Index

Preface

If you are running more containers or want automated management of your containers, you need Kubernetes at your disposal. This Learning Path focuses on core Kubernetes constructs, such as pods, services, replica sets, replication controllers, and labels. You'll learn to integrate your build pipeline and deployments in a Kubernetes cluster. As you move ahead in the Learning Path, you'll orchestrate updates behind the scenes, avoid downtime on your cluster, and deal with underlying cloud provider instability in your cluster. Using real-world use cases, you'll explore the options for network configuration, and understand how to set up, operate, and troubleshoot various Kubernetes networking plugins. In addition to this, you'll also get to grips with custom resource development and utilization in automation and maintenance workflows.By the end of this Learning Path, you'll know everything you need to graduate from intermediate to advanced level of understanding Kubernetes.

Who this book is for

This Learning Path is ideal for you if you are a developer or a system administrator with an intermediate understanding of Kubernetes and want to master its advanced features. Basic knowledge of networking is required to easily understand the concepts explained here.

What this book covers

Chapter 1, Introduction to Kubernetes, is a brief overview of containers and the how, what, and why of Kubernetes orchestration, exploring how it impacts your business goals and everyday operations.

Chapter 2, Understanding Kubernetes Architecture, will help you understand the design of the Kubernetes systems and appreciate why some of these design choices have been made.

Chapter 3, Building a Foundation with Core Kubernetes Constructs, uses a few simple examples to explore core Kubernetes constructs, namely pods, services, replication controllers, replica sets, and labels. Basic operations, including health checks and scheduling, will also be covered.

 

Chapter 4, Working with Networking, Load Balancers, and Ingress, covers cluster networking for Kubernetes and the Kubernetes proxy. It also takes a deeper dive into services and shows a brief overview of some higher-level isolation features for multi-tenancy.

Chapter 5, Using Critical Kubernetes Resources, will help you use almost all the latest Kubernetes resources for appropriate use cases in production. You will also learn how to define, version, and deliver them.

Chapter 6, Exploring Kubernetes Storage Concepts, covers storage concerns and persistent data across pods and the container life cycle. We will also look at new constructs for working with stateful applications in Kubernetes.

Chapter 7, Monitoring and Logging, teaches how to use and customize built-in and third-party monitoring tools on your Kubernetes cluster. We will look at built-in logging and monitoring, the Google Cloud Monitoring/Logging service, and Sysdig.

Chapter 8, Monitoring, Logging, and Troubleshooting, will help you set up and understand monitoring and metering in Kubernetes clusters, and will enable you to identify and troubleshoot typical problems that administrators encounter during day-to-day operations.

Chapter 9, Operating Systems, Platforms, and Cloud and Local Providers, starts off by covering Open Container Project and its mission to provide an open container specification, looking at how having open standards encourages a diverse ecosystem of container implementations (such as Docker, rkt, Kurma, and JetPack). The second half of this chapter will cover available OSes, such as CoreOS, Project Atomic, and their advantages as a host OSes, including performance and support for various container implementations.

Chapter 10, Creating Kubernetes Clusters, will make you understand the different options for creating Kubernetes clusters. You will create several clusters using the tools and examine the clusters.

Chapter 11, Cluster Federation and Multi-Tenancy, explores the new federation capabilities and how to use them to manage multiple clusters. We will also cover the federated version of the core constructs and the integration to public cloud vendor DNS.

Chapter 12, Cluster Authentication, Authorization, and Container Security, get into the options for container security, from the container run-time level to the host itself. We will discuss how to apply these concepts to workloads running in a Kubernetes cluster and some of the security concerns and practices that relate specifically to running your Kubernetes cluster.

 

Chapter 13, Running Stateful Applications with Kubernetes, will teach you how to transform monolithic stateful applications to microservices running on Kubernetes, suitable for production workload. They will also learn several ways that this can be done with or without the PetSet resource prior to Kubernetes release 1.3. You will be able to fill in the gaps in the available documentation resources.

Chapter 14, Rolling Updates, Scalability, and Quotas, will teach you how rolling updates and horizontal pod autoscaling behave. You will learn how to customize and run scaling testing at production environment. You will be able to use resource quotas for CPU and memory.

Chapter 15, Advanced Kubernetes Networking, will help you determine which networking plugin is suitable in different deployments, and you will learn how to deploy Kubernetes with different network plugins. You will be able to understand iptables load balancing and how to extend them.

Chapter 16, Kubernetes Infrastructure Management, focuses on how to make changes to the infrastructure that powers your Kubernetes infrastructure, whether it be a purely public cloud platform or a hybrid installation. We'll discuss methods for handling underlying instance and resource instability, and strategies for running highly available workloads on the partially available underlying hardware.

Chapter 17, Customizing Kubernetes – API and Plugins, will help you implement third-party resources, understand concepts of enhancing the Kubernetes API, and show you how to integrate resources with existing environments. You will learn how schedulers work and how to implement your own scheduling engine. Finally, you will also learn how to implement custom external load balancing for on-premise deployments based on common services such as haproxy or nginx.

Chapter 18, Handling the Kubernetes Package Manager, explains how to handle Kubernetes applications as packages. The chapter starts with Helm Classic and goes through Helm for Kubernetes, and finally covers real-world examples of how to create and update packages in a Helm repository in order to be able to maintain them for production application deployments.

Chapter 19, The Future of Kubernetes, will help you create your own Kubernetes packages and store them in Helm repository. You will get an understanding of delivery pipelines for Kubernetes packages, from repositories to clusters.

 

To get the most out of this book

This book will cover downloading and running the Kubernetes project. You'll need access to a Linux system (VirtualBox will work if you are on Windows) and some familiarity with the command shell. To follow the examples in each chapter, you need a recent version of Docker and Kubernetes installed on your machine, ideally Kubernetes 1.10. If your operating system is Windows 10 Professional, you can enable hypervisor mode; otherwise, you will need to install VirtualBox and use a Linux guest OS.

Additionally, you should have a Google Cloud Platform account. You can sign up for a free trial here: https://cloud.google.com/.

Also, an AWS account is necessary for a few sections of the book. You can sign up for a free trial here: https://aws.amazon.com/.

Download the example code files

You can download the example code files for this book from your account at www.packt.com. If you purchased this book elsewhere, you can visit www.packt.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

  1. Log in or register at www.packt.com.
  2. Select the SUPPORT tab.
  3. Click on Code Downloads & Errata.
  4. Enter the name of the book in the Search box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

  • WinRAR/7-Zip for Windows
  • Zipeg/iZip/UnRarX for Mac
  • 7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Getting-Started-with-Kubernetes-third-edition. In case there's an update to the code, it will be updated on the existing GitHub repository.

 

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The last two main pieces of the Master nodes are kube-controller-manager and cloud-controller-manager."

A block of code is set as follows:

"conditions": [
  {
    "type": "Ready",
    "status": "True"
  }

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

"conditions": [
  {
 "type": "Ready",
    "status": "True"
  }

Any command-line input or output is written as follows:

$ kubectl describe pods/node-js-pod

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Click on Jobs and then long-task from the list, so we can see the details."

 

Note

Warnings or important notes appear like this.

Note

Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: If you have questions about any aspect of this book, mention the book title in the subject of your message and email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packt.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.

lock icon The rest of the chapter is locked
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 $19.99/month. Cancel anytime
Banner background image