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

Checking pod logs

When kubectl describe pod does not show any information about an error, we can use another kubectl command, that is, logs. The kubectl logs command allows us to print container logs, and we can also view them in real time as well.


You can use kubectl logs with a flag to print the logs for the previous instance of the container in a pod if it exists:

$ kubectl logs -p some_pod

Now, let's check out this command on the crashing postgresql pod and try to find out what is going on with it – why it is failing. To get the pods list and check the pod logs, run the following commands:

$ kubectl get pods
$ kubectl logs postgresql-56dcb95567-njsp6

The output for the preceding commands is shown in the following screenshot:

Figure 6.3 – Getting error logs for the postgresql pod

Aha! As you can see from the preceding screenshot, the postgresql pod is failing as it needs the POSTGRESQL_PASSWORD environment variable...