• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz - Todas las novedades sobre VMware, Veeam, InfluxData, Grafana, Zimbra, etc.

  • Home
  • VMware
    • VMworld
    • VMware vSphere 6.7
    • VMware vSphere 6.5
  • Veeam
    • Resumen Contenido 2021
    • Veeam v11
      • Continuous Data Protection (CDP
      • Ransomware Protection
      • Archive Tier
      • Mejoras en Instant Recovery
      • Veeam Agent for Mac
      • Veeam Backup for AHV v2.1
    • Veeam Backup for Microsoft Office 365
      • 1 – Razones para proteger nuestra información en Microsoft Office 365
      • 2 – Componentes lógicos de Veeam Backup for Microsoft Office 365 2.0
      • 3 – Instalación paso a paso de Veeam Backup for Microsoft Office 365 v2.0
      • 4 – Configuración inicial de Veeam Backup for Microsoft Office 365 v2.0
      • 5 – Creando trabajos de copia en Veeam Backup for Microsoft Office 365 v2.0
      • 6 – Restaurando elementos en Veeam Backup for Microsoft Office 365 v2.0
    • Veeam Backup for AWS
      • Veeam: Veeam anuncia Veeam Backup for AWS Free Edition
      • Veeam: Cómo Desplegar Veeam Backup for AWS – paso a paso
      • Veeam: Vistazo en profundidad al nuevo Veeam Backup for AWS – Creación de Políticas de Backup y Restauración
      • Veeam: Cómo conectar nuestro Veeam Backup & Replication a Veeam Backup for AWS
    • Veaam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte I – Introducción a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte II – Descarga e Instalación de Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte III – Añadir una Infraestructura de VMware vSphere a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte IV – Añadir una Infraestructura de Veeam Backup and Replication a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte V – Realizando troubleshooting de vSphere usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VI – Realizando troubleshooting de Veeam Backup and Replication usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VII – Vistazo profundo a los Dashboards en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte VIII – Vistazo profundo a Reportes en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte IX – Chargeback para crear reportes de coste de nuestra Infraestructura
    • Veeam Availability Console
      • 1 – Teoría e información útil sobre el producto
      • 2 – Instalación de Veeam Availability Console
      • 3 – Configuración y conexión con VBR Server
      • 4 – Administración centralizada de Veeam Backup Agents
      • 5 – Backup de Agentes a diferentes destinos, SMB, Repositorio Veeam o Cloud Connect
      • 6 – Reportes de Backup de Veeam Agent y Veeam Backup and Replication
      • 7 – Manejando la Facturación de Veeam Agents, Backup and Replication y Cloud Connect
    • Backup y restore de cargas de trabajo a Microsoft Azure
      • 1 – Introducción
      • 2 – Conectividad entre nuestro Datacenter y Microsoft Azure
      • 3 – Desplegar Veeam Backup and Replication en Microsoft Azure
      • 4 – Configuración en nuestro Datacenter para backup a Microsoft Azure
      • 5 – Restaurando a Microsoft Azure, desde Microsoft Azure
      • 6 – Migrar cargas de trabajo desde Microsoft Azure hacía nuestro Datacenter
    • Veeam v9.5 Update 4
      • Veeam Cloud Tier
        • Cómo controlar el ancho de banda en Veeam Cloud Tier
      • Secure Restore y Staged Restore
      • Mejoras en Veeam Agent Management
      • Veeam Community Edition
      • Actualizar Veeam Enterprise Manager y Veeam Backup and Replication a la última versión
      • VeeamONE con Intelligent Diagnostics, Remediation actions, Business View 2.0 y Application Monitoring
    • VeeamON 2022
      • Novedades en Veeam ONE v12
    • VeeamON 2021
      • VBO v6 – Self-Service y Backup Copy Glacier-Azure Archive
    • VeeamON 2020
      • Veeam Backup for AWS v2.0
    • VeeamON 2019
      • Veeam Availability Orchestrator v2.0 – ¡novedades!
    • VeeamON 2017
      • Sesiones recomendadas
      • Día I – Veeam Availability Suite v10 – ¡novedades!
      • Día II – Veeam Azure PN (Powered Network), Scale-out Archive Tier y mucho más
    • VeeamON 2015
      • VeeamON 2015 volverá a Las Vegas en el único Evento sobre Disponibilidad en el Data Center
      • Completo resumen, keynotes e imágenes
      • vBrownBag – Jorge de la Cruz – Stop sending postcards to your customers
  • Zextras
  • PRTG
  • Office 365
    • Microsoft – Añadiendo nuestro dominio a Office 365, configuración de DNS y migración de actual Mailbox
    • Veeam: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
    • PRTG: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
  • Zimbra
    • Instalación
      • Instalando Zimbra 8.7.6 sobre Ubuntu 14.04 LTS – ¡con Chat y Drive!
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte II
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte I
      • Instalando Zimbra 8.7.x con un solo comando, incluye Chat y Drive
  • Linux
    • InfluxDB, Grafana y Telegraf
      • 1 – Instalación y configuración de los components
      • 2 – Instalar agente en Linux
      • 3 – Integración con PRTG
      • 4 – Instalar agente Telegraf en Nodos remotos Windows
      • 5 – Activar inputs específicos, Red, MySQL/MariaDB, Nginx
      • 6 – Monitorizando Veeam
    • Ansible y Zabbix
      • 1 – Inicio
      • 2 – Instalación de Ansible e integración con Active Directory
      • 3 – Configuración de AutoDiscovery en Zabbix
      • 4 – Instalación del agente de Zabbix en Windows
      • 5 – Instalación del agente de Zabbix en Linux y Auto Remove en Zabbix
    • Jenkins
      • 1 – Inicio
      • 2 – Instalación de Jenkins en Ubuntu
      • 3 – Instalando nuestro primer plugin
      • 4 – Sincronización NTP de Linux
      • 5 – Añadir un Slave Windows a Jenkins
      • 6 – Ejecutar tareas en Linux
      • 7 – Ejecutar tareas en Windows
    • Kubernetes
      • 1 – Introducción a Kubernetes
      • 2 – Instalación paso a paso
      • 3 – RollingUpdate con Kubernetes
      • 4 – Dashboard
      • 5 – Volúmenes NFS
      • 6 – Registry
      • 7 – Traefik
      • 8 – Systemd con Traefik y Proxy de Kubernetes
      • 9 – Heapster Influx Grafana
      • 10 – Labels de Kubernetes
      • 11 – API: Swagger
      • 12 – API: Creando nuestro primer POD
  • Contribuidores
    • Acerca de Jorge
    • Acerca de Oscar Mas
      • Clúster SQL
        • 1 – Introducción
        • 2 – Preparación de los equipos virtuales
        • 3 – Instalación del Clúster de Microsoft
        • 4 – Instalación de SQL Server para Clúster de Microsoft
        • 5 – Configuración de nuestro Clúster de SQL
        • 6 – Monitorización de Clúster de SQL con Zabbix
        • 7 – Actualizando clúster de SQL

Kubernetes – Traefik

9 January, 2018 - Escrito en: kubernetes

Soy Oscar Mas y me gustaría enseñaros que es Traefik (su pronunciación es Traffic). Traefik es un balanceador y un Reverse Proxy, en este post simplemente enseñaremos el Reverse Proxy.

Kubernetes en la versión 1.2.0 añadió un balanceador que incluye soporte para TLS and http-based traffic routing, a consecuencia de esto, lo más habitual es usar Traefik como un Reverse Proxy. Una de las ventajas de usar Traefik, es que soporta certificados SNI (Server Name Indication).

El esquema lógico de lo que vamos a realizar será el siguiente:

A continuación os detallo el funcionamiento de cada una de las partes que usaremos para que desde nuestra LAN podamos acceder a los pods que crearemos:

  • Deployment: Desde el deployment crearemos los dos pods
  • Service: Lo usaremos para que mediante el Puerto 80 (http) nos de acceso a los dos pods creados con el Deployment
  • Ingress: Nos servirá para acceder al Service con un nombre FQDN, en nuestro caso: nginx.ilba.cat
  • Traefik: Nos permitirá acceder desde el exterior (o sea desde nuestra red) al ingress.

La imagen que he usado es: scala-boot-test, la cual nos enseñará el nombre del host y la fecha. He usado esta imagen, ya que con una imagen de nginx, no podríamos apreciar el balanceo que nos proporciona nuestro service.

Crearemos nuestro Deployment y posteriormente verificaremos que se ha desplegado correctamente:

rootdevel@ub-nodo0-sbd:~$ cat nginx-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: sirile/scala-boot-test
        ports:
        - containerPort: 80
rootdevel@ub-nodo0-sbd:~$ kubectl create -f nginx-deployment.yaml
rootdevel@ub-nodo0-sbd:~$ kubectl get deployments -o wide
rootdevel@ub-nodo0-sbd:~$ kubectl get pods -o wide

Crearemos nuestro Service y posteriormente verificaremos que se ha desplegado correctamente:

rootdevel@ub-nodo0-sbd:~$ cat nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    name: nginxservice
  name: nginxservice
spec:
  ports:
    - port: 80
  selector:
    app: nginx
  type: ClusterIP
rootdevel@ub-nodo0-sbd:~$ kubectl create -f nginx-service.yaml
rootdevel@ub-nodo0-sbd:~$ kubectl get services -o wide

Crearemos nuestro Ingress y posteriormente verificaremos que se ha desplegado correctamente:

rootdevel@ub-nodo0-sbd:~$ cat nginx-ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginxingress
spec:
  rules:
  - host: nginx.ilba.cat
    http:
      paths:
      - path: /
        backend:
          serviceName: nginxservice
          servicePort: 80
rootdevel@ub-nodo0-sbd:~$ kubectl create -f nginx-ingress.yaml
ingress "nginxingress" created
rootdevel@ub-nodo0-sbd:~$ kubectl get ingress

Crearemos nuestro Traefik y posteriormente verificaremos que podemos accedr a los pods correctamente:

Antes de descargar la versión de Traefik miraremos cual es la ultima versión: https://github.com/containous/traefik/releases/ en mi caso es la versión 1.4.2.

rootdevel@ub-nodo0-sbd:~$ wget https://github.com/containous/traefik/releases/download/v1.4.2/traefik_linux-amd64
rootdevel@ub-nodo0-sbd:~$ mv traefik_linux-amd64 traefik && chmod u+x traefik

Crearemos nuestro fichero de traefik, el cual se enlazará con el sistema de proxy de Kubernetes para poder acceder a los pods:

rootdevel@ub-nodo0-sbd:~$ cat traefik.toml
[web]
address = ":8080"
ReadOnly = true

[kubernetes]
# Kubernetes server endpoint
endpoint = "http://127.0.0.1:8001"

Para no complicar mucho este post, en el siguiente post explicaré como lanzar Traefik y el proxy de Kubernetes mediante el systemd de Linux, en vez de tener que lanzarlos a mano:

rootdevel@ub-nodo0-sbd:~$ kubectl proxy
rootdevel@ub-nodo0-sbd:~$ sudo ./traefik -c traefik.toml

Si accedemos al FQDN que hemos configurado en nuestro Ingress (nginx.ilba.cat) y vamos refrescando el navegador, podremos observar que vamos cambiando de pod cada vez que refrescamos el navegador.

También podremos acceder a la web que nos ofrece Traefik, en la cual podemos ver la configuración y el estado de nuestro Traefik, mediante la URL: http://192.168.0.216:8080. Os dejo un par de capturas para que lo podáis ver:

No te pierdas la serie completa sobre Kubernetes de Oscar Mas:

  • Kubernetes – Introducción a Kubernetes
  • Kubernetes – Instalación
  • Kubernetes – RollingUpdate con Kubernetes
  • Kubernetes – Dashboard
  • Kubernetes – Volúmenes NFS
  • Kubernetes – Registry
  • Kubernetes – Traefik
  • Kubernetes – Systemd con Traefik y Proxy de Kubernetes
  • Kubernetes – Heapster Influx Grafana
  • Kubernetes – Labels de Kubernetes
  • Kubernetes – API: Swagger
  • Kubernetes – API: Creando nuestro primer POD
  • Kubernetes – API: Seguridad con Token

Filed Under: kubernetes Tagged With: kubernetes, kubernetes introduccion, kubernetes oscar, kubernetes oscar mas

Reader Interactions

Trackbacks

  1. Kubernetes: RollingUpdate con Kubernetes - El Blog de Jorge de la Cruz says:
    13 January, 2018 at 12:38

    […] Kubernetes – Traefik […]

    Reply
  2. Kubernetes: Dashboard - El Blog de Jorge de la Cruz says:
    20 January, 2018 at 21:56

    […] Kubernetes – Traefik […]

    Reply
  3. Kubernetes: Heapster Influx Grafana - El Blog de Jorge de la Cruz says:
    25 January, 2018 at 15:08

    […] Kubernetes – Traefik […]

    Reply
  4. Kubernetes: Introducción a Kubernetes - El Blog de Jorge de la Cruz says:
    28 January, 2018 at 21:24

    […] Kubernetes – Traefik […]

    Reply
  5. Kubernetes: Volúmenes NFS - El Blog de Jorge de la Cruz says:
    3 February, 2018 at 13:07

    […] Kubernetes – Traefik […]

    Reply
  6. Kubernetes: API: Swagger - El Blog de Jorge de la Cruz says:
    6 February, 2018 at 8:16

    […] Kubernetes – Traefik […]

    Reply
  7. Kubernetes: API: Creando nuestro primer POD - El Blog de Jorge de la Cruz says:
    15 February, 2018 at 8:46

    […] Kubernetes – Traefik […]

    Reply
  8. Kubernetes: Labels de Kubernetes - El Blog de Jorge de la Cruz says:
    19 February, 2018 at 20:38

    […] 7 – Traefik […]

    Reply
  9. Kubernetes: Registry - El Blog de Jorge de la Cruz says:
    19 February, 2018 at 20:40

    […] 7 – Traefik […]

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • YouTube

Gold Partners

Silver Partners

Libros Gratuitos

Cloud por vExperts
VMware por vExperts

VMware vExpert

Puesto 16 en Top vBlog

Calendario de Posts

January 2018
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
293031  
« Dec   Feb »

Disclaimer

Todas las opiniones expresadas en este sitio son las mías propias y no representan las opiniones de ninguna compañía con la que haya trabajado, esté trabajando o vaya a estar trabajando.

Copyright © 2026 · El Blog de Jorge de la Cruz