Instalar ingress traefik
========================

Documento para instalar un cluster kubernetes con tres nodos, un master y dos workers.

Pasos a seguir una vez instalado y actualizado el sistema operativo.

1. **Instalación del ingress basado en Traefik**:

El ingress se instala en el cluster de kubernetes para poder exponer los servicios a la red exterior.

Se crea un namespace para el ingress y se instala el chart de traefik.

.. code-block:: bash

    kubectl apply -f - <<EOF
        apiVersion: v1
        kind: Namespace
        metadata:
          name: ingress-traefik
    EOF

Se asigna espacio en disco para el ingress.

.. code-block:: bash

    kubectl apply -f - <<EOF
        apiVersion: v1
        kind: PersistentVolume
        metadata:
          name: pv-traefik
        spec:
          storageClassName: "nfs-storage"
          persistentVolumeReclaimPolicy: Retain
          volumeMode: Filesystem
          capacity:
            storage: 10Mi
          accessModes:
            - ReadWriteMany
          nfs:
            server: raid01.iglu.net
            path: /media/data/k8s/traefik
    EOF

Se asigna el espacio en disco al namespace del ingress.

.. code-block:: bash

    kubectl apply -f - <<EOF
        apiVersion: v1
        kind: PersistentVolumeClaim
        metadata:
          name: pvc-traefik
          namespace: ingress-traefik
        spec:
          volumeName: pv-traefik
          accessModes:
            - ReadWriteMany
          resources:
            requests:
              storage: 10Mi
    EOF

Se instala el chart de traefik en el namespace del ingress.

.. code-block:: bash

    helm repo add traefik https://traefik.github.io/charts
    helm repo update

    helm uninstall traefik -n ingress-traefik
    helm upgrade --install traefik traefik/traefik --namespace ingress-traefik \
    --set persistence.enabled=false \
    --set deployment.enabled=false \
    --set service.enabled=false
