eliminado elemento duplicsdo en ingress.md
This commit is contained in:
122
ingress.md
122
ingress.md
@@ -1,123 +1,5 @@
|
||||
## 1. Cert-Manager: Gestión automática de certificados TLS en Kubernetes
|
||||
|
||||
[`cert-manager`](https://cert-manager.io/) es un componente esencial en entornos Kubernetes modernos. Se encarga de emitir y renovar automáticamente certificados TLS, eliminando la necesidad de gestionarlos manualmente. Esto es especialmente útil cuando los servicios se exponen a través de un Ingress Controller y se quiere TLS mediante Let's Encrypt.
|
||||
|
||||
### ¿Cómo funciona?
|
||||
|
||||
* Se integra con el API de Kubernetes.
|
||||
* Usa recursos personalizados (`Issuer` y `ClusterIssuer`) para definir cómo se emitirán los certificados.
|
||||
* Funciona con **ACME** (como Let's Encrypt) para obtener certificados automáticamente.
|
||||
* Trabaja junto con los objetos `Ingress` para asegurar las rutas públicas de nuestros servicios.
|
||||
* Puede usar solvers `http01` (habitualmente expuestos por el Ingress Controller) para verificar la propiedad del dominio.
|
||||
|
||||
---
|
||||
|
||||
## 2. Despliegue de cert-manager
|
||||
|
||||
### Paso 1: Crear el namespace
|
||||
|
||||
```yaml
|
||||
# namespace.yaml
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: cert-manager
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl apply -f namespace.yaml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Paso 2: Instalar cert-manager desde el repositorio oficial
|
||||
|
||||
```bash
|
||||
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/latest/download/cert-manager.yaml
|
||||
```
|
||||
|
||||
Esto instalará los CRDs necesarios, así como los controladores en el namespace `cert-manager`.
|
||||
|
||||
---
|
||||
|
||||
## 3. Configurar los emisores de certificados
|
||||
|
||||
### Issuer vs ClusterIssuer
|
||||
|
||||
* `Issuer`: solo disponible en un namespace concreto.
|
||||
* `ClusterIssuer`: disponible en todo el clú ster.
|
||||
|
||||
Aquí usamos `ClusterIssuer` para que cualquier `Ingress` de cualquier namespace pueda solicitar certificados.
|
||||
|
||||
### Paso 3: Crear los ClusterIssuers
|
||||
|
||||
```yaml
|
||||
# clusterissuer-staging.yaml
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: ClusterIssuer
|
||||
metadata:
|
||||
name: letsencrypt-staging
|
||||
spec:
|
||||
acme:
|
||||
email: xavor@hotmail.es
|
||||
server: https://acme-staging-v02.api.letsencrypt.org/directory
|
||||
privateKeySecretRef:
|
||||
name: letsencrypt-staging
|
||||
solvers:
|
||||
- http01:
|
||||
ingress:
|
||||
ingressClassName: traefik
|
||||
```
|
||||
|
||||
```yaml
|
||||
# clusterissuer-prod.yaml
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: ClusterIssuer
|
||||
metadata:
|
||||
name: letsencrypt-prod
|
||||
spec:
|
||||
acme:
|
||||
email: xavor@hotmail.es
|
||||
server: https://acme-v02.api.letsencrypt.org/directory
|
||||
privateKeySecretRef:
|
||||
name: letsencrypt-prod
|
||||
solvers:
|
||||
- http01:
|
||||
ingress:
|
||||
ingressClassName: traefik
|
||||
```
|
||||
|
||||
> ⚠️ Asegúrate de que `ingressClassName` coincida con el del Ingress Controller instalado (como `nginx`, `traefik`, `haproxy`).
|
||||
|
||||
```bash
|
||||
kubectl apply -f clusterissuer-staging.yaml
|
||||
kubectl apply -f clusterissuer-prod.yaml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Uso de kustomize para aplicar en bloque
|
||||
|
||||
Puedes usar `kustomize` para aplicar todo desde un solo punto:
|
||||
|
||||
```yaml
|
||||
# kustomization.yaml
|
||||
namespace: cert-manager
|
||||
resources:
|
||||
- clusterissuer-prod.yaml
|
||||
- clusterissuer-staging.yaml
|
||||
```
|
||||
|
||||
Y aplicarlo con:
|
||||
|
||||
```bash
|
||||
kubectl apply -k .
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 1. Cert-Manager: Gestión automática de certificados TLS en Kubernetes
|
||||
## 1. Cert-Manager: Gestión automática de certificados TLS en
|
||||
## Kubernetes
|
||||
|
||||
[`cert-manager`](https://cert-manager.io/) es un componente esencial en entornos Kubernetes modernos. Se encarga de emitir y renovar automáticamente certificados TLS, eliminando la necesidad de gestionarlos manualmente. Esto es especialmente útil cuando los servicios se exponen a través de un Ingress Controller y se quiere TLS mediante Let's Encrypt.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user