🥋
Dojo
Español
Español
  • Dojo
    • 🔎Contenido relevante
  • App Store
    • Crear cuenta de Apple developer
    • Crear cuenta organizacional en Apple developer
    • Subir una aplicación a App store
  • Classroom
    • Crear una clase en Classroom
    • Crear y añadir temas a una clase de Classroom
    • Agregar estudiantes o instructores en Classroom
    • Asignar entrenamientos en Classroom
    • Ingresar a un entrenamiento como estudiante
  • Docker
    • Instalar Docker
  • Editor de video
    • HandBrake
      • Cambiar el formato de un video en HandBrake
    • iMovie
      • Editar un video en iMovie
  • Git
    • Hacer un 3-way merge en git
    • Hacer un Fast Forward Merge en Git
    • Hacer un git revert
    • Resolver un conflicto de merge con la línea de comando
    • Usar git add
    • Usar git cherry pick
    • Usar git rm
    • Usar git stash
  • Git Graph
    • Instalar Git Graph
    • Ver gráfico del repositorio
    • Filtrar ramas
    • Hacer merge a ramas
  • GitBook
    • Crear contenido de Dojo en Gitbook
    • Crear un espacio en GitBook
    • Duplicar un espacio en GitBook
    • Eliminar un espacio en GitBook
    • Mover un espacio en GitBook
  • GitLab
    • Creación de milestones en GitLab
    • Visualización de milestones en GitLab
    • Cierre de milestones en GitLab
    • Crear un repositorio en GitLab
    • Configurar la autenticación de dos factores para GitLab
    • Hacer un bulk en GitLab
    • Importar issues a GitLab
    • Creación de tareas en GitLab
    • Visualización de tareas en GitLab
    • Cerrar tareas en GitLab
    • Copiar Solutions/Template en Proyectos de GitLab
    • Actualizar instancia de GitLab
  • Gmail
    • Crear una firma de Gmail
    • Crear una plantilla de correo en Gmail
    • Enviar correos con distintos alias o grupos
    • Obtener permisos para enviar y recibir correos desde un alias o grupo
  • Grabador de video
    • Loom
      • Grabar con Loom
      • Instalar Loom
  • HUGO
    • Organizar contenido Markdown
  • Java
    • Instalar Java con SDKMan
  • Jira
    • Usar shortcuts en Jira
    • Usar filtros avanzados en Jira
    • Usar filtros básicos en jira
    • Usar filtros en un proyecto de Jira
  • Kubernetes
    • Implementar un microservicio en Kubernetes
    • Ver registros de pods de Kubernetes
    • Ejecutar un pod con imágenes de un repositorio privado
    • Usar config maps para configurar una implementación
    • Usar secrets para configurar una implementación
    • Comunicar dos microservicios en un clúster de Kubernetes
    • Crear un Ingress Controller en un clúster
    • Configurar Horizontal Pod Autoscaler en Kubernetes
    • Conectar un contenedor a Google Storage
  • Make
    • Instalar Make
  • Minikube
    • Instalar Minikube
    • Administrar un clúster con Minikube
    • Usar Minikube para configurar un clúster de Kubernetes
  • MySQL
    • Hacer un dump con MySQL
    • Instalar MySQL con contenedores de Docker
  • Node.js
    • Instalar Gray-matter
    • Usar Gray-matter
    • Leer archivo en Node.js
  • n8n
    • Iniciar con n8n
    • Untitled
    • Seleccionar información en n8n
    • Funciones de n8n
    • Conectar credenciales de n8n por medio de APIs
  • Open SSH
    • Generar un par de claves privada-pública SSH
  • Outline
    • Crear backup de Outline
  • Play store
    • Subir una aplicación a Play store
    • Crear cuenta organizacional en Play store
  • Telegram
    • Reenviar mensajes a múltiples usuarios
  • Tezos
    • Desplegar un Smart Contract
    • Implementar un contrato NFT
    • Interactuar con un Smart Contract con Taquito
  • VaultWarden
    • Crear una cuenta
    • Crear una contraseña
    • Compartir credenciales a externos
  • Visual Studio Code
    • Instalar visual studio code
    • Instalar extensiones en vscode
  • VueJS
    • Crear un proyecto con Vue
    • Instalar VueCLI
  • Youtube
    • Subir un video a YouTube
  • Zoho
    • Compartir accesos desde Zoho
    • Quitar accesos desde Zoho
    • Ingresar a la base de dojo con un acceso compartido por Zoho
Powered by GitBook
On this page
  1. Kubernetes

Configurar Horizontal Pod Autoscaler en Kubernetes

Habilitar metrics plugin en Minikube:

minikube addons enable metrics-server

Iniciar una implementación y exponla como un servicio:

kubectl apply -f https://k8s.io/examples/application/php-apache.yaml

Crear un Horizontal Pod Autoscaler:

kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10 

Este comando crea un HPA con un mínimo de un pod y un máximo de diez pods en ejecución. Intentará mantener el uso promedio de los pods al 50 % y, si hay más uso, creará automáticamente más pods para mantener el uso al 50 %.

Para probarlo, se deberá ejecutar lo siguiente en una terminal diferente:

  kubectl run -it --rm load-generator --image=busybox /bin/sh

Luego, para crear el tráfico necesario para que HPA comience a funcionar:

**while true; do wget -q -O- http://php-apache; done**

De vuelta en la primera terminal, es posible controlar el HPA con:

kubectl get hpa -w

Para tener más control sobre el HPA también es posible crearlo con un archivo mainfest, el equivalente al comando kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10 sería:

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: php-apache
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: php-apache
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization

HPA también se puede configurar según el uso de la CPU o las solicitudes recibidas, es una buena idea guardarlo como un archivo para mantener un registro de la configuración del HPA.

Enlaces de referencia

PreviousCrear un Ingress Controller en un clústerNextConectar un contenedor a Google Storage

Last updated 1 year ago

https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/