Pre-Flight Check
~30 min de preparación

Prerrequisitos · Antes de empezar

Hardware, herramientas y conocimiento necesario para levantar el lab local y migrar a Oracle Cloud Free Tier. Cada sección indica desde qué fase se necesita.

01

Hardware & Entorno

El lab corre en una única VM Rocky Linux dentro de UTM (Mac ARM) o libvirt/VirtualBox. Estas son las specs mínimas para que k3s + todo el stack funcione sin OOM kills.

RAM
8 GB mínimo
16 GB recomendado: k3s + Prometheus + Loki + n8n corren simultáneamente
Disco
50 GB mínimo
Loki y container images consumen rápido. 80 GB con headroom para Jenkins
vCPUs
2 mínimo
4 recomendados. La VM Rocky Linux necesita compilar e instalar k3s + workloads
Virtualización
UTM / libvirt / VirtualBox
UTM en Mac ARM, libvirt en Linux. La VM Rocky es ARM64 o x86_64
Oracle Cloud Free Tier: 4 vCPUs ARM Ampere A1 + 24 GB RAM — costo $0. La VM del lab local puede ser más chica, pero en OCI necesitas 18 GB para vm-k3s y 6 GB para vm-bastion.
02

Herramientas Locales

Software necesario en la máquina local antes de la Fase 1. OCI CLI solo se necesita a partir de la Fase 9.

Git ≥ 2.x
Clonar el repo y trabajar con los manifiestos de ArgoCD
git --version
kubectl ≥ 1.28+
Interactuar con el cluster k3s: aplicar manifiestos, debuggear pods
kubectl version --client
Ansible ≥ 2.15+
Provisionar la VM Rocky Linux y configurar el hardening base
ansible --version
OpenTofu ≥ 1.7+
IaC local (provider Kubernetes) y Oracle Cloud (provider OCI)
tofu version
SSH Client ≥ 8.x+
Acceso a la VM y al bastion en Oracle Cloud
ssh -V
OCI CLI ≥ 3.x+
Solo para Fase 9: interactuar con Oracle Cloud desde terminal
oci --version
03

Dentro de la VM

Lo que corre dentro de la VM Rocky Linux 9. Ansible instala la mayoría. Solo se necesita la ISO para el install inicial.

Rocky Linux 9 9.4+
ISO Minimal o DVD: ARM64 en UTM, x86_64 en otros hipervisores
k3s 1.29+
Se instala via script, no requiere pre-instalación
SELinux Enforcing
Viene activado por defecto en Rocky 9. No desactivar.
firewalld 1.3+
Backend de firewall. Ansible lo configura en Fase 1.
Rocky Linux 9 — Post-Install
# Verificar SELinux enforcing
$ getenforce
Enforcing
# Verificar firewalld activo
$ systemctl is-active firewalld
active
# Clonar el repo
$ git clone https://github.com/agusm2002/rocky-linux-aiops-lab.git
Cloning into 'rocky-linux-aiops-lab'...
04

Cuentas & API Keys

Credenciales y cuentas externas. No las necesitas todas desde el inicio. Cada una indica desde qué fase se requiere.

Fase 9

Oracle Cloud Free Tier

Cuenta Always Free con 4 vCPUs ARM Ampere A1 + 24 GB RAM. No requiere tarjeta para recursos Free Tier.

Documentación
Fase 9

OCI CLI + Config

Autenticación configurada con API key o Instance Principal. Requiere compartment y region definidos.

Documentación
Fase 5

OpenCode Go API Key

Para los workflows de n8n con LLM. Plan free disponible — compatible con OpenAI chat completions.

Documentación
Fase 5

Discord Webhook URL

Canal de Discord con webhook configurado — destino de las notificaciones del incident response.

Documentación
05

Conocimiento Previo

No se requiere ser experto en nada de esto. Con manejo básico de terminal y disposición a googlear, las fases guían paso a paso.

Linux Intermedio

Navegación en terminal, systemd, journalctl, permisos, SELinux básico.

systemdjournalctlfirewalldSELinuxdnf
Kubernetes Básico–Intermedio

Pods, Deployments, Services, ConfigMaps, Namespaces. k3s simplifica mucho pero los conceptos son los mismos.

PodsDeploymentsServicesConfigMapskubectl
Git Básico

Clone, commit, push, pull, branching.

clonecommitpushpull
Networking Básico

IPs, puertos, DNS, SSH, HTTP.

TCP/IPDNSSSHHTTPIngress
IaC Básico

Ansible y OpenTofu se usan desde cero. Si nunca los usaste, las fases iniciales cubren lo necesario.

YAMLvariablesmódulosplaybooks
06

Verificación Rápida

Ejecutar estos comandos en la terminal antes de empezar. Si todos responden sin error, el entorno está listo para la Fase 1.

preflight-check.sh
$ git --version
git version 2.x
$ kubectl version --client
Client Version: v1.28+
$ ansible --version
ansible [core 2.15+]
$ tofu version
OpenTofu v1.7+
$ ssh -V
OpenSSH_8.x
$ uname -m
arm64 / aarch64 / x86_64
# Si todo dice ✓ → listo para la Fase 1
# Si algo falla → instalar antes de continuar
No desactivar SELinux. El proyecto está diseñado para correr con SELinux en Enforcing. Si se configura en Permissive o Disabled, se enmascaran problemas que aparecerán en producción.

Todo listo

Si la verificación rápida pasó sin errores, continuar con Quick Start para levantar el stack completo.

Architecture