mirror of
https://github.com/marcel-dempers/docker-development-youtube-series.git
synced 2025-06-06 17:01:30 +00:00
71 lines
1.6 KiB
Markdown
71 lines
1.6 KiB
Markdown
# Introduction to Kubernetes: Secrets
|
|
|
|
<a href="https://youtu.be/EkUN4V4Hmws" title="k8s-secrets"><img src="https://i.ytimg.com/vi/EkUN4V4Hmws/hqdefault.jpg" width="20%" alt="k8s-secrets" /></a>
|
|
|
|
## Create a cluster with Kind
|
|
|
|
```
|
|
kind create cluster --name secrets --image kindest/node:v1.31.1
|
|
```
|
|
|
|
## Our Secret
|
|
|
|
We have a secret under `kubernetes/secrets/secret.json`
|
|
|
|
```
|
|
cat kubernetes/secrets/secret.json
|
|
```
|
|
|
|
## Using our secret in a container
|
|
|
|
As a file:
|
|
```
|
|
docker run -it -v $PWD/kubernetes/secrets/secret.json:/secrets/secret.json ubuntu:latest bash
|
|
|
|
cat /secrets/secret.json
|
|
```
|
|
|
|
As environment variables:
|
|
|
|
```
|
|
api_key="somesecretgoeshere"
|
|
docker run -it -e API_KEY=$api_key ubuntu:latest bash
|
|
|
|
echo $API_KEY
|
|
```
|
|
|
|
## Kubernetes Secret
|
|
|
|
Read more about [Kubernetes secrets](https://kubernetes.io/docs/concepts/configuration/secret/)
|
|
|
|
|
|
## Create our secret
|
|
|
|
There are two main ways we can create a Kubernetes secret. </br>
|
|
Either by creating the secret object with `kubectl create secret` or apply\create it declaratively using YAML with `kubectl apply -f`
|
|
|
|
`kubectl create secret`:
|
|
|
|
```
|
|
kubectl create secret generic mysecret --from-file kubernetes/secrets/secret.json
|
|
```
|
|
|
|
`kubectl apply -f` or `kubectl create -f` allows us to define things declaratively using YAML files:
|
|
|
|
```
|
|
kubectl apply -f kubernetes/secrets/secret.yaml
|
|
```
|
|
|
|
## Use our secret
|
|
|
|
In order to use our secret we add a `volume` to our pod spec and then mount that using a `volumeMount` </br>
|
|
We can also use a secret references as `env` variable </br>
|
|
|
|
|
|
```
|
|
kubectl apply -f kubernetes/secrets/pod.yaml
|
|
```
|
|
|
|
|
|
|