Skip to content

Storage/Configmap

envfrom

apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  DB_HOST: "postgres-service"
  DB_USER: "admin"
  LOG_LEVEL: "info"
Configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: n8n-config
data:
  N8N_HOST: "n8n.locale"
  N8N_PROTOCOL: "https"
  NODE_ENV: "production"
  WEBHOOK_URL: "http://n8n.locale/"
  N8N_PORT: "5678"
  EXECUTIONS_MODE: "queue"
  N8N_SECURE_COOKIE: "false"
  # Database
  DB_TYPE: "postgresdb"
  DB_POSTGRESDB_DATABASE: "n8n"
  DB_POSTGRESDB_HOST: "db-postgres"
  DB_POSTGRESDB_PORT: "5432"
  DB_POSTGRESDB_USER: "n8n_user"
  DB_POSTGRESDB_SCHEMA: "public"
  # Redis (Queue Mode)
  N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
  QUEUE_BULL_REDIS_HOST: "n8n-redis"
  QUEUE_BULL_REDIS_PORT: "6379"
  # Timezone
  GENERIC_TIMEZONE: "Europe/Rome"
  TZ: "Europe/Rome"
Configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-config
data:
  default.conf: |
    server {
        listen 80;
        server_name localhost;
        location / {
            root /usr/share/nginx/html;
            index index.html;
        }
    }
Secrets
apiVersion: v1
kind: Secret
metadata:
  name: db-secret
type: Opaque
data:
  username: dXNlcm5hbWU= # 'username' in base64
  password: cGFzc3dvcmQ= # 'password' in base64

Tipologie di Secret

I Secret vengono utilizzati per memorizzare e gestire informazioni sensibili. La tabella seguente riassume le tipologie predefinite in Kubernetes:

Tipo Utilizzo Campi richiesti/comuni nel blocco data
Opaque Configurazioni generiche (password, chiavi API) Chiavi arbitrarie definite dall'utente
kubernetes.io/service-account-token Token per l'accesso all'API di Kubernetes ca.crt, namespace, token
kubernetes.io/dockerconfigjson Credenziali per registry privati (Docker Hub, ecc.) .dockerconfigjson
kubernetes.io/tls Certificati SSL/TLS e relative chiavi private tls.crt, tls.key
kubernetes.io/basic-auth Credenziali per autenticazione HTTP Basic username, password
kubernetes.io/ssh-auth Chiavi SSH private per accesso a repository o server ssh-privatekey

Pvc dinamico

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: webapp-pvc
  finalizers:
    - kubernetes.io/pvc-protection
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: local-path
  resources:
    requests:
      storage: 1Gi

PVC - Access Modes

Access Mode Descrizione Esempio di utilizzo
ReadWriteOnce (RWO) Il volume può essere montato in lettura-scrittura da un singolo nodo Pod singolo con storage persistente locale
ReadOnlyMany (ROX) Il volume può essere montato in sola lettura da più nodi Condivisione di file statici tra più Pod
ReadWriteMany (RWX) Il volume può essere montato in lettura-scrittura da più nodi Storage condiviso tipo NFS o GlusterFS
ReadWriteOncePod (RWOP) Simile a RWO, ma vincola il volume a un singolo Pod invece che al nodo Nuovo con Kubernetes 1.23+, per casi avanzati