Guía de Instalación y Configuración del Controlador Actions Runner

El Controlador Actions Runner es un proyecto de código abierto que permite la gestión y control de los runners autoalojados de GitHub Actions en un clúster de Kubernetes. Este proyecto, desarrollado principalmente en Go, ofrece una forma eficiente de escalar y personalizar el entorno de ejecución de las acciones de GitHub.

Tecnologías y Frameworks Utilizados

  • Go: Lenguaje principal para el desarrollo del back end.
  • Kubernetes: Plataforma para la orquestación y ejecución de contenedores, donde se despliega el Controlador Actions Runner.
  • Docker: Utilizado para crear imágenes de contenedores de los runners, facilitando su despliegue en diferentes entornos.
  • GitHub Actions: Marco de automatización de flujos de trabajo de desarrollo de software.

Pasos de Preparación e Instalación

Preparación

  • Asegúrate de tener Docker instalado y en funcionamiento.
  • Configura un clúster de Kubernetes y asegúrate de que kubectl esté correctamente configurado.
  • Instala Helm, el gestor de paquetes de Kubernetes, si aún no lo has hecho:
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash

Instalación

Paso 1: Agregar Repositorio Helm

Añade el repositorio Helm del Controlador Actions Runner:

helm repo add actions-runner-controller https://charts.actions-runner-controller.github.io
helm repo update

Paso 2: Configurar Valores de Helm

Crea un archivo llamado values.yaml con la siguiente configuración base:

replicaCount: 3

image:
  repository: ghcr.io/actions-runner-controller/actions-runner-controller
  tag: "latest"
  pullPolicy: IfNotPresent

service:
  type: ClusterIP
  port: 8080

rbac:
  create: true

resources: {}

nodeSelector: {}

tolerations: []

affinity: {}

Paso 3: Desplegar el Chart de Helm

Despliega el Controlador Actions Runner utilizando el archivo de valores creado:

helm install actions-runner-controller actions-runner-controller/actions-runner-controller -f values.yaml

Paso 4: Configurar el Servicio de Kubernetes

Si tu clúster soporta Ingress, puedes exponer el servicio creando un recurso Ingress:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: actions-runner-controller-ingress
spec:
  rules:
  - host: actions-runner-controller.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: actions-runner-controller
            port:
              number: 8080

Reemplaza actions-runner-controller.example.com con tu dominio real y configura los registros DNS correspondientes.

Paso 5: Verificar la Instalación

Verifica el estado de los pods después del despliegue:

kubectl get pods -n default

Asegúrate de que todos los pods estén en estado Running. Puedes acceder a la interfaz del Controlador Actions Runner a través del navegador usando el dominio configurado.

Etiquetas: Actions Runner Controller Kubernetes Helm Docker GitHub Actions

Publicado el 9-10 02:00