Book Image

kubectl: Command-Line Kubernetes in a Nutshell

By : Rimantas Mocevicius
Book Image

kubectl: Command-Line Kubernetes in a Nutshell

By: Rimantas Mocevicius

Overview of this book

The kubectl command line tool lets you control Kubernetes clusters to manage nodes in the cluster and perform all types of Kubernetes operations. This introductory guide will get you up to speed with kubectl in no time. The book is divided into four parts, touching base on the installation and providing a general overview of kubectl in the first part. The second part introduces you to managing Kubernetes clusters and working with nodes. In the third part, you’ll be taken through the different ways in which you can manage Kubernetes applications, covering how to create, update, delete, view, and debug applications. The last part of the book focuses on various Kubernetes plugins and commands. You’ll get to grips with using Kustomize and discover Helm, a Kubernetes package manager. In addition to this, you’ll explore how you can use equivalent Docker commands in kubectl. By the end of this book, you’ll have learned how to install and update an application on Kubernetes, view its logs, and inspect clusters effectively.
Table of Contents (16 chapters)
Section 1: Getting Started with kubectl
Section 2: Kubernetes Cluster and Node Management
Section 3: Application Management
Section 4: Extending kubectl

Chapter 3: Working with Nodes

Everyone familiar with Kubernetes knows that the cluster workload runs in nodes, where all Kubernetes pods get scheduled, deployed, redeployed, and destroyed.

Kubernetes runs the workload by placing containers into pods and then schedules them to run on nodes. A node might be a virtual or physical machine, depending on the cluster setup. Each node has the services necessary to run pods, managed by the Kubernetes control plane.

The main components of the node are as follows:

  • kubelet: An agent that registers/deregisters the node with the Kubernetes API.
  • Container runtime: This runs containers.
  • kube-proxy: Network proxy.

If the Kubernetes cluster supports nodes autoscaling, then nodes can come and go as specified by the autoscaling rules: by setting min and max node counts. If there is not much load running in the cluster, unnecessary nodes will be removed down to the minimum nodes set by the autoscaling rules. And when the load...