Below you will find pages that utilize the taxonomy term “Security”
Istio Service Mesh in Practice: What It Gives You and Where It Bites
A service mesh moves the hard parts of service-to-service networking - encryption, retries, timeouts, traffic shifting and telemetry - out of your application code and into the platform. Istio is the most widely used mesh on Kubernetes, and when it’s adopted deliberately it removes a lot of bespoke plumbing. Adopted all at once, it can also add a layer of complexity your team isn’t ready to debug.
This post covers what Istio gives you, the features worth turning on first, and the gotchas we’ve hit running it in production.
Kubernetes Service Accounts and Secrets - Mounting Secrets as Volumes
A Service Account provides an identity for processes that run in a pod. When processes inside a pod contact the API server, they are authenticated as a particular Service Account.
Create a Service Account using the YAML below.
apiVersion: v1
kind: ServiceAccount
metadata:
name: sa-app-name
namespace: namespace-name
Once the Service Account is created, you can reference it in your pod spec:
apiVersion: v1
kind: Pod
metadata:
name: app-name
spec:
serviceAccountName: sa-app-name
Now on to Kubernetes Secrets. A Secret lets you store and manage sensitive information. Here we’ll create two secrets for our tests: mysecret1 and mysecret2. Note the --- separator - without it, the second document silently overwrites the first.
Encrypting Secrets in Amazon EKS
In this talk, Paavan Mistry explains how to encrypt Kubernetes secrets at rest in etcd on Amazon EKS. By default, Kubernetes stores secrets only base64-encoded - not encrypted - so anyone who gains access to the API server or to etcd can read them in the clear. The talk shows how to use AWS KMS envelope encryption to protect secrets at rest, which is an easy win for anyone running EKS in production.