Kubernetes with secrets alternative

2/5/2019

With a Kubernetes cluster in place, what would be the alternative way to send configurations/passwords into containers? I know about the secrets way but what I'm looking for is a centralised environment that has the password encrypted, not base64 encoded.

-- ibrik
docker
kubernetes
kubernetes-secrets

2 Answers

2/5/2019

You should try Vault by HashiCorp.

The key features of Vault are:

  • Secure Secret Storage
  • Dynamic Secrets
  • Data Encryption
  • Leasing and Renewal
  • Revocation

Here is an example of using Vault + Kubernetes

-- Serge
Source: StackOverflow

2/22/2019

You could also consider Kamus:

An open source, GitOps, zero-trust secrets encryption and decryption solution for Kubernetes applications.

Kamus enable users to easily encrypt secrets than can be decrypted only by the application running on Kubernetes.
The encryption is done using strong encryption providers (currently supported: Azure KeyVault, Google Cloud KMS and AES).
To learn more about Kamus, check out the blog post and slides.

helm repo add soluto https://charts.soluto.io
helm upgrade --install kamus soluto/kamus

Architecture: Kamus has 3 components:

  • Encrypt API
  • Decrypt API
  • Key Management System (KMS)

The encrypt and decrypt APIs handle encryption and decryption requests. The KMS is a wrapper for various cryptographic solutions. Currently supported:

  • AES - uses one key for all secrets
  • Azure KeyVault - creates one key per service account.
  • Google Cloud KMS - creates one key per service account.
-- VonC
Source: StackOverflow