Upgrade to Pro — share decks privately, control downloads, hide ads and more …

From Terraform to Kubernetes: creating and sharing secrets

From Terraform to Kubernetes: creating and sharing secrets

This talk goes over several ways on how to get your credentials from Terraform into your Kubernetes cluster.

Jelmer Snoeck

May 05, 2018
Tweet

More Decks by Jelmer Snoeck

Other Decks in Programming

Transcript

  1. $ whoami • Engineer @ Manifold • Focus on Operations

    Experience ◦ Terraform ◦ Kubernetes • Gopher since 2014 • Curator @ Kubelist Jelmer Snoeck @jelmersnoeck github.com/jelmersnoeck
  2. Cons - Team management is hard - add team members

    - delete team members - Remembering to re-encrypt is hard - Obscure encrypted file format - Copy paste values from Terraform
  3. Cons - Team management is still hard - Obscure encrypted

    file format - Copy paste values from Terraform Pros - Encryption is done automatically
  4. Cons - Copy paste values from Terraform - Manually encrypt

    values - Need access to the cluster to encrypt Pros - Access is taken care of through the k8s cluster - Readable files
  5. Cons - Setup might be tricky - Spin up k8s

    and then immediately use it - Limited to Terraform secrets Pros - Secrets are automatically injected
  6. Cons - Need to add extra setup - envconsul -

    application code Pros - Great Vault features - Custom integrations - Temporary credentials - Rotation - RBAC - Can store external credentials - Vault Operator!
  7. Cons - No one off passwords/temporary keys Pros - Still

    using the 12factor methodology - Can connect with external services - RBAC at service level
  8. Reminders - Encryption - secrets - etcd - remote state

    - RBAC for secrets - Figure out what you need
  9. Resources - Manifold Credentials Controller - Manifold Terraform Provider -

    Hashicorp Vault - Hashicorp Vault Operator - Bitnami Sealed Secrets