Saltar a contenido

Kubernetes

Namespaces

Namespace Propósito
default Landing page (deibuzz.es)
ingress-nginx Controlador nginx ingress
cert-manager Certificados automáticos Let's Encrypt
external-dns Sincronización DNS con Cloudflare
auth Authentik SSO
mail Stalwart mail server
media Jellyfin
photos Immich
wiki Wiki.js
vault OpenBao
torrent qBittorrent + Filebrowser
docs Este sitio (MkDocs)
kube-system Componentes del sistema k3s

Componentes de infraestructura

Componente Namespace Descripción
nginx ingress ingress-nginx Punto de entrada único HTTP/HTTPS
cert-manager cert-manager Certificados Let's Encrypt dns-01
external-dns external-dns Sincroniza Ingress → Cloudflare DNS
ip-updater external-dns CronJob actualizador de IP pública
CoreDNS kube-system DNS interno del cluster
metrics-server kube-system kubectl top
local-path-provisioner kube-system PVs con hostPath

Comandos útiles

# Estado de todos los pods
kubectl get pods -A

# Recursos del nodo
kubectl top node

# Logs de un servicio
kubectl logs -n <ns> deployment/<nombre> -f

# Reiniciar deployment
kubectl rollout restart deployment/<nombre> -n <ns>

# Aplicar manifiestos
kubectl apply -f $DEIBUZZ_HOME/<servicio>/manifests/

Manifiestos

$DEIBUZZ_HOME/
├── <servicio>/
│   └── manifests/
│       ├── namespace.yaml
│       ├── storage.yaml
│       ├── <servicio>.yaml
│       └── ingress.yaml
└── k3s/
    └── manifests/
        ├── ingress-nginx/     # controlador + security headers
        ├── cert-manager/      # issuers + clusterissuers
        ├── external-dns/      # ip-updater + external-dns
        └── root-domain/       # landing page + ingress raíz