Scenario
To save some 3rd parties’ sensitive information such as credentials, in Kubernetes managed secret service.
Tutorial to follow:
Kubernetes Config - Secret
Create deployment definition files kubernetes-secret.yaml
1
2
3
4
5
6
7
8
9
10
11
| apiVersion: v1
kind: Secret
metadata:
name: secret-name-to-be-used
namespace: customised-namespace
data:
key1: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
key2: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
key3: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
key4: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
type: Opaque
|
Apply secret
to K8s Cluster
1
| kubectl apply -f kubernetes-secret.yaml
|
To use the secret, from any other app’s K8s deployment definition, i.e kubernetes-app.yaml
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| kind: Deployment
apiVersion: apps/v1
metadata:
labels:
customised-label-key: customised-label-value
name: customised-deployment-name
namespace: customised-namespace
spec:
replicas: 1
selector:
matchLabels:
customised-label-key: customised-label-value
template:
metadata:
labels:
customised-label-key: customised-label-value
spec:
containers:
- name: customised-container-name
image: IMAGE_URL
env:
- name: whatever-environment-variable-name-1
valueFrom:
secretKeyRef:
name: secret-name-to-be-used
key: key1
- name: whatever-environment-variable-name-2
valueFrom:
secretKeyRef:
name: secret-name-to-be-used
key: key2
|