Environnement, configmap & secret

Variable d’environnement


ConfigMap

Pour utiliser un ConfigMap, 1. le définir, 2. l’injecter dans le pod.

Définir

apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  APP_COLOR: blue
  APP_CODE: prod

Créer

Injecter

Lister

$ kubectl get configmaps
NAME        DATA  AGE
app-config  2     3s

Inspecter

$ kubectl describe configmaps
Name:         app-config
Namespace:    default
Labels:       <none>
Annotations:  <none>

Data
====
APP_COLOR:
----
blue
APP_MODE:
----
prod
Events:  <none>

Secret

Pour utiliser un Secret, 1. le définir, 2. l’injecter dans le pod.

Définir

Créer

Injecter

Lister

$ kubectl get secrets
NAME        TYPE    DATA  AGE
app-secret  Opaque  3     10m

Inspecter

$ kubectl describe secrets
Name:         app-secret
Namespace:    default
Labels:       <none>
Annotations:  <none>

Type: Opaque

Data
====
DB_Host:      10 bytes
DB_Password:  6 bytes
DB_User:      4 bytes
$ kubectl get secret app-secret -o yaml
apiVersion: v1
data:
  DB_Host: bXlzcWw=
  DB_User: cm9vdA==
  DB_Password: cGFzc3dk
kind: Secret
metadata:
  creationTimestamp: 2018-10-18T10:01:18Z
  labels:
    name: app-secret
  name: app-secret
  namespace: default
uid: be96...
type: Opaque
$ echo -n "bXlzcWw=" | base64 --decode
mysql

$ echo -n "cm9vdA==" | base64 --decode
root

$ echo -n "cGFzc3dk" | base64 --decode
passwd

Note sur la Sécurité