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)
1
Section 1: Getting Started with kubectl
3
Section 2: Kubernetes Cluster and Node Management
6
Section 3: Application Management
10
Section 4: Extending kubectl

Exposing an application to the internet

Awesome job so far, so to finish this chapter, let's make our application available over the internet.

We need to update service.yaml with type: LoadBalancer, which will create a LoadBalancer with an external IP.

Note

The LoadBalancer capability is dependent on the vendor integration because an external LoadBalancer is created by the vendor. So, if you run locally with Minikube or Kind, you will never really get an external IP.

Update the service.yaml file with the following content:

...
spec:
  type: LoadBalancer
...

To deploy the new changes, run the $ kubectl apply -f service.yaml command followed by the get command as shown in the following screenshot:

Figure 5.9 – Service with pending LoadBalancer

We are seeing pending as the status depends on the cloud provider, and it can take up to 5 minutes for the LoadBalancer to be provisioned. Running the get command again after some...