Kubernetes secrets management
Safely manage your secret information like passwords, keys, and certificates in Kubernetes. This practical guide is full of best practices and methods for adding layers of security that will defend the critical data of your applications. Secrets, like database passwords and API keys, are some of the...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Shelter Island, New York :
Manning
[2023]
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009720733106719 |
Tabla de Contenidos:
- Intro
- inside front cover
- Kubernetes Secrets Management
- Copyright
- dedication
- brief contents
- contents
- front matter
- preface
- acknowledgments
- about this book
- Who should read this book?
- How this book is organized: A roadmap
- About the code
- liveBook discussion forum
- about the authors
- about the cover illustration
- Part 1. Secrets and Kubernetes
- 1 Kubernetes Secrets
- 1.1 A focus on security
- 1.2 Taking full advantage of the Kubernetes ecosystem
- 1.3 Not everything is a Secret
- 1.4 Bringing secrets management and Kubernetes together
- 1.5 Tools to get started
- Summary
- 2 An introduction to Kubernetes and Secrets
- 2.1 Kubernetes architecture
- 2.1.1 What is a master Node?
- 2.1.2 What is a worker Node?
- 2.2 Deploying workloads in Kubernetes
- 2.2.1 Deploying a workload
- 2.2.2 Deployment objects
- 2.2.3 Volume
- 2.3 Managing application configuration
- 2.3.1 ConfigMaps
- 2.4 Using Kubernetes Secrets to store sensitive information
- 2.4.1 Secrets are encoded in Base64
- 2.4.2 Secrets are mounted in a temporary file system
- 2.4.3 Secrets can be encrypted at rest
- 2.4.4 Risks
- Summary
- Part 2. Managing Secrets
- 3 Securely storing Secrets
- 3.1 Storing Kubernetes manifests at rest
- 3.1.1 Capturing resources for declarative configuration
- 3.2 Tools for securely storing Kubernetes resources
- 3.2.1 Ansible Vault
- 3.3 Kubernetes Operators
- 3.3.1 Custom resource definitions (CRDs)
- 3.3.2 Sealed Secrets
- 3.4 Managing Secrets within Kubernetes package managers
- 3.4.1 Deploying the Greeting Demo Helm chart
- 3.4.2 Using Helm Secrets
- 3.5 Rotating secrets
- 3.5.1 Ansible Vault secret key rotation
- 3.5.2 Sealed Secrets key rotation
- 3.5.3 SOPS secret key rotation
- Summary
- 4 Encrypting data at rest
- 4.1 Encrypting secrets in Kubernetes.
- 4.1.1 Data at rest vs. data in motion
- 4.1.2 Plain secrets
- 4.1.3 Encrypting secrets
- 4.1.4 Creating the secret
- 4.2 Key management server
- 4.2.1 Kubernetes and KMS provider
- 4.2.2 Creating the secret
- Summary
- 5 HashiCorp Vault and Kubernetes
- 5.1 Managing application secrets using HashiCorp Vault
- 5.1.1 Deploying Vault to Kubernetes
- 5.1.2 Deploying an application to access Vault
- 5.2 Kubernetes auth method
- 5.2.1 Configuring Kubernetes auth
- 5.2.2 Testing and validating Kubernetes auth
- 5.3 The Vault Agent Injector
- 5.3.1 Configurations to support Kubernetes Vault Agent injection
- Summary
- 6 Accessing cloud secrets stores
- 6.1 The Container Storage Interface and Secrets Store CSI Driver
- 6.1.1 Container Storage Interface
- 6.1.2 Container Storage Interface and Kubernetes
- 6.1.3 CSI and secrets
- 6.1.4 Installing prerequisites
- 6.1.5 Installing the Secrets Store CSI Driver
- 6.1.6 Consuming HashiCorp Vault secrets via the Secrets Store CSI Driver and the HashiCorp Vault provider
- 6.2 Synchronizing CSI secrets as Kubernetes Secrets
- 6.2.1 Preparing the namespace
- 6.2.2 Defining a SecretProviderClass resource with secretObjects
- 6.3 Autorotating secrets to improve security posture
- 6.3.1 Preparing the namespace
- 6.3.2 Deploying the Pod with a secret mounted
- 6.3.3 Updating the secret
- 6.4 Consuming secrets from cloud secrets stores
- 6.4.1 Azure Key Vault
- 6.4.2 GCP Secret Manager
- 6.4.3 AWS Secrets Manager
- Summary
- Part 3. Continuous integration and continuous delivery
- 7 Kubernetes-native continuous integration and Secrets
- 7.1 Introduction to continuous integration
- 7.2 Tekton
- 7.2.1 Installing prerequisites
- 7.2.2 Installing Tekton
- 7.2.3 Tekton pipelines
- 7.3 Continuous integration for a welcome message
- 7.3.1 Compiling and Running tests.
- 7.3.2 Building and Pushing the container image
- 7.3.3 The PipelineResource
- 7.3.4 Pipeline
- 7.3.5 PipelineRun
- Summary
- 8 Kubernetes-native continuous delivery and Secrets
- 8.1 Introduction to continuous delivery and deployment
- 8.2 Continuous delivery for the welcome message
- 8.2.1 Deploying the Name Generator service
- 8.2.2 DevOps and GitOps
- 8.3 Argo CD
- 8.3.1 Installation of ArgoCD
- 8.3.2 Welcome service and GitOps
- 8.3.3 Creating a Welcome Message service from a Git repository
- 8.3.4 Updating the Welcome service
- Summary
- Appendix A. Tooling
- A.1 Minikube
- A.2 Kubectl
- Appendix B. Installing and configuring yq
- B.1 Installing yq
- B.2 yq by example
- Appendix C. Installing and configuring pip
- C.1 Installing pip
- C.2 Basic pip operations
- Appendix D. Installing and configuring Git
- D.1 Installing Git
- D.2 Configuring Git
- Appendix E. Installing GPG
- E.1 Obtaining the GPG tools
- E.2 Generating a public-private key pair
- index.