• / company
    • about us
      • / about us

        The partner of choice for data & product engineering to drive business growth & deliver an impact within your organization
    • product engineering
      • / product engineering
        We specialize in Software Product Engineering, transforming your concepts into impactful products.
    • technology
      • / technology
        250+ specialists skilled in software, BI, integration, offering end-to-end services from research to ongoing maintenance.
    • methodology
      • / methodology
        We specialize in software product engineering, transforming your concepts into impactful products.
    • careers
      • / careers
        Our team needs one more awesome person, like you. Let’s grow together! Why not give it a try?
    • do good
      • / do good
        We’re a team devoted to making the world better with small acts. We get involved and always stand for kindness.
    • events
      • / events
        LLMs in Action: Transforming How We Work, Communicate, and Innovate
    • blog
      • / blog
        Why Every Developer Should Care About AI Plugins, And What You Might Be Missing
        mindit chats with Andreea Moldovan: “At mindit.io people really put effort into making it happen.”
    • contact us
      • / contact us
        We would love to hear from you! We have offices and teams in Romania and Switzerland. How can we make your business thrive?
  • / get in touch

Kubernetes 101 – ConfigMap & Secrets

ConfigMap

A ConfigMap is used to store non-confidential data in key-value pairs.

They allow decoupling of environment-specific configuration from container images, so that the applications are easily portable.

Pods can consume ConfigMaps as environment variables, command-line arguments, or as configuration files in a volume.

Definition:

apiVersion: v1

kind: ConfigMap

metadata:

name: database-config

data:

user: dev-user

password: password

Usage:

apiVersion: v1

kind: Pod

metadata:

name: mypod

spec:

containers:

– name: mypod

image: redis

volumeMounts:

– name: foo

mountPath: “/etc/db-config”

readOnly: true

volumes:

– name: db-config

configMap:

name: database-config

Secret

A Secret contains sensitive data such as a password, a token, or a key.

Secrets are similar to ConfigMaps but are specifically intended to hold confidential data.

Definition:

apiVersion: v1

kind: Secret

metadata:

name: database-config

stringData:

username: admin

password: t0p-Secret

Usage:

apiVersion: v1

kind: Pod

metadata:

name: mypod

spec:

containers:

– name: mypod

image: redis

volumeMounts:

– name: foo

mountPath: “/etc/db-config”

readOnly: true

volumes:

– name: db-config

secret:

secretName: database-config

You need to bear in mind that:

Anyone with cluster access can retrieve or modify a Secret.
Secrets can be easily decrypted.

Usually, in a production environment, you would use a third party solution for confidential data management like Hashicorp Vault.
Follow the Kubernetes 101 series on mindit.io.
Check out new-spike.net for other articles on Kubernetes and much more!

Distribute:

/turn your vision into reality

The best way to start a long-term collaboration is with a Pilot project. Let’s talk.