GCP K8s Clusters Kind - Secret

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

comments powered by Disqus