Added readme files
This commit is contained in:
62
exemples/README.md
Normal file
62
exemples/README.md
Normal file
@@ -0,0 +1,62 @@
|
||||
## **Exemples — Resum i ús ràpid**
|
||||
|
||||
Aquest directori conté manifests Kubernetes d'exemple agrupats en subcarpetes. Són fitxers pensats per aprendre i desplegar recursos bàsics (Pods, Deployments, Services, StatefulSets, PVCs, Ingress, Secrets, etc.) en un clúster local o d'estudi.
|
||||
|
||||
## **Prerequisits**
|
||||
- **Clúster**: Un clúster Kubernetes (k3s, minikube, kind, etc.).
|
||||
- **kubectl**: Configurat per apuntar al clúster.
|
||||
|
||||
## **Com aplicar els exemples**
|
||||
Per aplicar una carpeta sencera:
|
||||
|
||||
```bash
|
||||
kubectl apply -f exemples/exemples-inicials/
|
||||
kubectl apply -f exemples/practica-final/install.yaml
|
||||
```
|
||||
|
||||
Aplica fitxers individuals amb `kubectl apply -f <ruta/al/fitxer>`.
|
||||
|
||||
## **Estructura i descripció dels fitxers**
|
||||
|
||||
**exemples-inicials/**
|
||||
- **File**: [exemples/exemples-inicials/app-configurada.yaml](exemples/exemples-inicials/app-configurada.yaml) — Exemple de desplegament amb configuració (ConfigMap/variables) aplicada.
|
||||
- **File**: [exemples/exemples-inicials/deploy.yaml](exemples/exemples-inicials/deploy.yaml) — Manifest d'un `Deployment` bàsic amb rèpliques.
|
||||
- **File**: [exemples/exemples-inicials/nginx-clusterip.yaml](exemples/exemples-inicials/nginx-clusterip.yaml) — `Service` de tipus `ClusterIP` per Nginx.
|
||||
- **File**: [exemples/exemples-inicials/nginx-deployment.yaml](exemples/exemples-inicials/nginx-deployment.yaml) — `Deployment` de Nginx.
|
||||
- **File**: [exemples/exemples-inicials/nginx-ingress.yaml](exemples/exemples-inicials/nginx-ingress.yaml) — Regles d'`Ingress` per exposar Nginx (requereix controlador d'ingress).
|
||||
- **File**: [exemples/exemples-inicials/pod.yaml](exemples/exemples-inicials/pod.yaml) — Manifest d'un `Pod` senzill per provar execució bàsica.
|
||||
- **File**: [exemples/exemples-inicials/redis-deployment.yaml](exemples/exemples-inicials/redis-deployment.yaml) — `Deployment` de Redis (stateless, per proves).
|
||||
- **File**: [exemples/exemples-inicials/redis-pod.yaml](exemples/exemples-inicials/redis-pod.yaml) — `Pod` de Redis (ús demostratiu).
|
||||
- **File**: [exemples/exemples-inicials/redis-pvc.yaml](exemples/exemples-inicials/redis-pvc.yaml) — `PersistentVolumeClaim` per a Redis.
|
||||
- **File**: [exemples/exemples-inicials/redis-stateful-replica.yaml](exemples/exemples-inicials/redis-stateful-replica.yaml) — Exemple de rèplica/escala en `StatefulSet` per Redis.
|
||||
- **File**: [exemples/exemples-inicials/redis-stateful.yaml](exemples/exemples-inicials/redis-stateful.yaml) — `StatefulSet` per desplegament de Redis amb PVCs.
|
||||
- **File**: [exemples/exemples-inicials/service.yaml](exemples/exemples-inicials/service.yaml) — Exemple genèric de `Service` (ClusterIP/NodePort segons configuració).
|
||||
|
||||
**maria-db/**
|
||||
- **File**: [exemples/maria-db/mariadb-deployment.yaml](exemples/maria-db/mariadb-deployment.yaml) — `Deployment` (o StatefulSet) per MariaDB.
|
||||
- **File**: [exemples/maria-db/mariadb-pvc.yaml](exemples/maria-db/mariadb-pvc.yaml) — `PersistentVolumeClaim` per l'emmagatzematge de la base de dades.
|
||||
|
||||
**mariadb-replication/**
|
||||
- **File**: [exemples/mariadb-replication/mariadb-replication.yaml](exemples/mariadb-replication/mariadb-replication.yaml) — Manifests per muntar un entorn de replicació de MariaDB (master/replica) amb secrets i configuració.
|
||||
|
||||
**practica-final/**
|
||||
- **File**: [exemples/practica-final/01-secret.yaml](exemples/practica-final/01-secret.yaml) — `Secret` amb credencials per la pràctica final.
|
||||
- **File**: [exemples/practica-final/02-pvcs.yaml](exemples/practica-final/02-pvcs.yaml) — PVCs requerits per MariaDB/WordPress.
|
||||
- **File**: [exemples/practica-final/03-mariadb.yaml](exemples/practica-final/03-mariadb.yaml) — Desplegament de MariaDB per la pràctica final.
|
||||
- **File**: [exemples/practica-final/04-wordpress.yaml](exemples/practica-final/04-wordpress.yaml) — `Deployment`/`Service` de WordPress configurat per connectar amb MariaDB.
|
||||
- **File**: [exemples/practica-final/05-ingress.yaml](exemples/practica-final/05-ingress.yaml) — `Ingress` per exposar WordPress públicament (requereix controlador d'ingress i DNS/hosts si s'usa hostname).
|
||||
- **File**: [exemples/practica-final/install.yaml](exemples/practica-final/install.yaml) — Fitxer compost per aplicar l'ordre correcta (secrets → PVCs → DB → app → ingress).
|
||||
|
||||
## **Suggeriments i consideracions**
|
||||
- **Ordre d'aplicació**: Normalment `Secret` → `PVCs` → `Deployments/StatefulSets` → `Services` → `Ingress`.
|
||||
- **Ingress**: Comprova que tens un controlador d'ingress actiu (traefik, nginx-ingress, etc.).
|
||||
- **Persistència**: Si treballes en un entorn local, revisa la provisió de `StorageClass` per assegurar que els PVCs es vinculen.
|
||||
- **Neteja**: Per eliminar recursos després de provar:
|
||||
|
||||
```bash
|
||||
kubectl delete -f exemples/practica-final/install.yaml
|
||||
kubectl delete -f exemples/exemples-inicials/
|
||||
```
|
||||
|
||||
---
|
||||
Si vols, puc: generar un README per cada subcarpeta individual, afegir descripcions més detallades per cada manifest o crear scripts d'aplicació/neteja automatitzats.
|
||||
30
exemples/exemples-inicials/README.md
Normal file
30
exemples/exemples-inicials/README.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Exemples inicials
|
||||
|
||||
Aquest directori conté exemples bàsics per aprendre a desplegar recursos Kubernetes senzills: `Pod`, `Deployment`, `Service`, `Ingress` i exemples de Redis (stateless i stateful).
|
||||
|
||||
Prerequisits
|
||||
- Un clúster Kubernetes (k3s, minikube, kind, etc.).
|
||||
- `kubectl` configurat per apuntar al clúster.
|
||||
|
||||
Com aplicar
|
||||
```bash
|
||||
kubectl apply -f exemples/exemples-inicials/
|
||||
```
|
||||
|
||||
Fitxers i propòsit
|
||||
- `app-configurada.yaml` — Exemple de Deployment amb configuració (ConfigMap/variables d'entorn).
|
||||
- `deploy.yaml` — Deployment genèric amb rèpliques.
|
||||
- `nginx-clusterip.yaml` — Service `ClusterIP` per Nginx.
|
||||
- `nginx-deployment.yaml` — Deployment de Nginx.
|
||||
- `nginx-ingress.yaml` — Regles d'Ingress per Nginx (requereix controlador d'ingress).
|
||||
- `pod.yaml` — Pod senzill per proves ràpides.
|
||||
- `redis-deployment.yaml` — Deployment de Redis sense persistència (proves).
|
||||
- `redis-pod.yaml` — Pod de Redis demostratiu.
|
||||
- `redis-pvc.yaml` — PVC per a Redis (per usar amb StatefulSet).
|
||||
- `redis-stateful-replica.yaml` — Exemple de rèplica amb StatefulSet.
|
||||
- `redis-stateful.yaml` — StatefulSet de Redis amb persistència.
|
||||
- `service.yaml` — Exemple genèric de Service.
|
||||
|
||||
Notes
|
||||
- Aplica PVCs abans de StatefulSets si cal persistència.
|
||||
- Comprova el controlador d'Ingress si utilitzes `nginx-ingress.yaml`.
|
||||
21
exemples/maria-db/README.md
Normal file
21
exemples/maria-db/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# MariaDB
|
||||
|
||||
Conté manifests per desplegar una instància de MariaDB i el seu emmagatzematge persistent.
|
||||
|
||||
Prerequisits
|
||||
- StorageClass funcional per enlazar PVCs.
|
||||
- `kubectl` apuntant al clúster.
|
||||
|
||||
Com aplicar
|
||||
```bash
|
||||
kubectl apply -f exemples/maria-db/mariadb-pvc.yaml
|
||||
kubectl apply -f exemples/maria-db/mariadb-deployment.yaml
|
||||
```
|
||||
|
||||
Fitxers
|
||||
- `mariadb-pvc.yaml` — `PersistentVolumeClaim` per a les dades de MariaDB.
|
||||
- `mariadb-deployment.yaml` — Deployment o StatefulSet (segons el manifest) per MariaDB.
|
||||
|
||||
Notes
|
||||
- Revisa els recursos del PVC (size, storageClassName) per adaptar-los al teu entorn.
|
||||
- Si necessites replicació, mira la carpeta `mariadb-replication`.
|
||||
19
exemples/mariadb-replication/README.md
Normal file
19
exemples/mariadb-replication/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# MariaDB Replication
|
||||
|
||||
Manifests per muntar un entorn de replicació de MariaDB (master/replica). Inclou configuracions i possiblement `Secrets` per credencials.
|
||||
|
||||
Prerequisits
|
||||
- Control de permisos i credencials (secrets).
|
||||
- PVCs provisionats per emmagatzemar dades per a cada instància.
|
||||
|
||||
Com aplicar (ordre suggerida)
|
||||
```bash
|
||||
kubectl apply -f exemples/mariadb-replication/ # o aplicar fitxers per ordre si cal
|
||||
```
|
||||
|
||||
Fitxers
|
||||
- `mariadb-replication.yaml` — Conté la configuració principal per la replicació (roles, inicialització, serveis, etc.).
|
||||
|
||||
Consideracions
|
||||
- La replicació pot requerir inicialització manual (dump/import), usuaris específics i configuracions del servidor MariaDB.
|
||||
- Revisa l'estratègia de backups i restauració abans d'usar en producció.
|
||||
29
exemples/practica-final/README.md
Normal file
29
exemples/practica-final/README.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Pràctica final
|
||||
|
||||
Carpeta que agrupa els manifests per una pràctica completa (WordPress + MariaDB) amb secrets, PVCs, base de dades i ingress.
|
||||
|
||||
Prerequisits
|
||||
- Controlador d'Ingress actiu (traefik, nginx-ingress, etc.).
|
||||
- `kubectl` configurat.
|
||||
- StorageClass per proveir PVCs.
|
||||
|
||||
Ordre d'aplicació recomanat
|
||||
1. `01-secret.yaml` — Crear `Secret` amb credencials.
|
||||
2. `02-pvcs.yaml` — Crear `PersistentVolumeClaim` per MariaDB i WordPress.
|
||||
3. `03-mariadb.yaml` — Desplegar MariaDB.
|
||||
4. `04-wordpress.yaml` — Desplegar WordPress connectat a MariaDB.
|
||||
5. `05-ingress.yaml` — Crear Ingress per exposar l'aplicació.
|
||||
|
||||
Com aplicar tot junt
|
||||
```bash
|
||||
kubectl apply -f exemples/practica-final/install.yaml
|
||||
```
|
||||
|
||||
Neteja
|
||||
```bash
|
||||
kubectl delete -f exemples/practica-final/install.yaml
|
||||
```
|
||||
|
||||
Notes
|
||||
- Revisa que els secrets (usuaris/contrassenyes) i les connexions (host/port) entre WordPress i MariaDB estiguin correctes abans d'executar la pràctica.
|
||||
- Si utilitzes hostnames en l'Ingress, afegeix les entrades corresponents al teu `/etc/hosts` o DNS de desenvolupament.
|
||||
Reference in New Issue
Block a user