Так мы зададим 2 переменные LANGUAGE и API_KEY
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: envtest spec: replicas: 1 template: metadata: labels: name: envtest spec: containers: - name: envtest image: gcr.io/<PROJECT_ID>/envtest ports: - containerPort: 3000 env: - name: LANGUAGE value: "English" - name: API_KEY value: "123-456-789"
Можем их использовать например в js файле
var http = require('http'); var server = http.createServer(function (request, response) { const language = process.env.LANGUAGE; const API_KEY = process.env.API_KEY; response.write(`Language: ${language}\n`); response.write(`API Key: ${API_KEY}\n`); response.end(`\n`); }); server.listen(3000);
Secrets — для конфиденциальной информации (использует шифрование)
Config map — для открытых переменных
Примеры и конфиг где мы их используем:
kubectl create secret generic apikey --from-literal=API_KEY=123–456
kubectl create configmap language --from-literal=LANGUAGE=English
kubectl get secret kubectl get configmap
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: envtest spec: replicas: 1 template: metadata: labels: name: envtest spec: containers: - name: envtest image: gcr.io/<PROJECT_ID>/envtest ports: - containerPort: 3000 env: - name: LANGUAGE valueFrom: configMapKeyRef: name: language key: LANGUAGE - name: API_KEY valueFrom: secretKeyRef: name: apikey key: API_KEY
Muchas gracias. ?Como puedo iniciar sesion?