Book Image

Cloud Native with Kubernetes

By : Alexander Raul
Book Image

Cloud Native with Kubernetes

By: Alexander Raul

Overview of this book

Kubernetes is a modern cloud native container orchestration tool and one of the most popular open source projects worldwide. In addition to the technology being powerful and highly flexible, Kubernetes engineers are in high demand across the industry. This book is a comprehensive guide to deploying, securing, and operating modern cloud native applications on Kubernetes. From the fundamentals to Kubernetes best practices, the book covers essential aspects of configuring applications. You’ll even explore real-world techniques for running clusters in production, tips for setting up observability for cluster resources, and valuable troubleshooting techniques. Finally, you’ll learn how to extend and customize Kubernetes, as well as gaining tips for deploying service meshes, serverless tooling, and more on your cluster. By the end of this Kubernetes book, you’ll be equipped with the tools you need to confidently run and extend modern applications on Kubernetes.
Table of Contents (22 chapters)
1
Section 1: Setting Up Kubernetes
5
Section 2: Configuring and Deploying Applications on Kubernetes
11
Section 3: Running Kubernetes in Production
16
Section 4: Extending Kubernetes

Using Secrets

Secrets work very similarly to ConfigMaps, except that they are stored as encoded text (specifically, Base64) instead of plaintext.

Creating a Secret is therefore very similar to creating a ConfigMap, with a few key differences. For starters, creating a Secret imperatively will automatically Base64-encode the data in the Secret. First, let's look at creating a Secret imperatively from a pair of files.

From files

First, let's try creating a Secret from a file (this also works with multiple files). We can do this using the kubectl create command:

> echo -n 'mysecretpassword' > ./pass.txt
> kubectl create secret generic my-secret --from-file=./pass.txt

This should result in the following output:

secret "my-secret" created

Now, let's see what our Secret looks like using kubectl describe:

> kubectl describe secrets/db-user-pass

This command should result in the following output:

Name:  ...