Book Image

Kubernetes Secrets Handbook

By : Emmanouil Gkatziouras, Rom Adams, Chen Xi
Book Image

Kubernetes Secrets Handbook

By: Emmanouil Gkatziouras, Rom Adams, Chen Xi

Overview of this book

Securing Secrets in containerized apps poses a significant challenge for Kubernetes IT professionals. This book tackles the critical task of safeguarding sensitive data, addressing the limitations of Kubernetes encryption, and establishing a robust Secrets management system for heightened security for Kubernetes. Starting with the fundamental Kubernetes architecture principles and how they apply to the design of Secrets management, this book delves into advanced Kubernetes concepts such as hands-on security, compliance, risk mitigation, disaster recovery, and backup strategies. With the help of practical, real-world guidance, you’ll learn how to mitigate risks and establish robust Secrets management as you explore different types of external secret stores, configure them in Kubernetes, and integrate them with existing Secrets management solutions. Further, you'll design, implement, and operate a secure method of managing sensitive payload by leveraging real use cases in an iterative process to enhance skills, practices, and analytical thinking, progressively strengthening the security posture with each solution. By the end of this book, you'll have a rock-solid Secrets management solution to run your business-critical applications in a hybrid multi-cloud scenario, addressing operational risks, compliance, and controls.
Table of Contents (20 chapters)
Free Chapter
1
Part 1:Introduction to Kubernetes Secrets Management
6
Part 2: Advanced Topics – Kubernetes Secrets in a Production Environment
10
Part 3: Kubernetes Secrets Providers

Different types of Secrets and their usage scenarios

Kubernetes provides us with various types of Secrets. Behind the scenes, it uses the same storage mechanism that we saw in Chapter 1, Understanding Kubernetes Secrets Management; Secrets, once created, will be serialized and stored on etcd. What differs is how those Secrets are handled when used. There are various types of Secrets; let us examine them one by one.

Opaque

An Opaque secret is the default secret type. Whenever we want to add a sensitive configuration, whether it is a file or a variable, it will be created as an Opaque secret.

Opaque Secrets can be used by providing key values:

$ kubectl create secret generic opaque-example-from-literals --from-literal=literal1=text-for-literal-1
$ kubectl get secret opaque-example-from-literals -o yaml
apiVersion: v1
data:
  literal1: dGV4dC1mb3ItbGl0ZXJhbC0x
kind: Secret
...
type: Opaque

Opaque Secrets can also be executed by applying a YAML file:

$ kubectl...