aula-07: Criação de imagem Talos customizada na Hetzner Cloud - Usa Talos Factory para gerar imagem ARM64/AMD64 - Inclui extensões: qemu-guest-agent, hcloud aula-08: Provisionamento de cluster Kubernetes Talos via OpenTofu - 3 Control Planes em HA (CAX11 ARM64) - 1 Worker Node (CAX11 ARM64) - Rede privada, Floating IP, Firewall - Cluster Autoscaler para Hetzner (0-5 workers extras) - Setup interativo com validação de pré-requisitos - Custo estimado: ~€18/mês (base) Também inclui: - .gitignore para ignorar arquivos sensíveis - CLAUDE.md com instruções do projeto
39 lines
1.1 KiB
YAML
39 lines
1.1 KiB
YAML
############################################################
|
|
# Deployment de teste para o Cluster Autoscaler
|
|
# Cria pods que consomem recursos para forçar scale-up
|
|
############################################################
|
|
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: test-autoscaler
|
|
namespace: default
|
|
spec:
|
|
replicas: 10
|
|
selector:
|
|
matchLabels:
|
|
app: test-autoscaler
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: test-autoscaler
|
|
spec:
|
|
containers:
|
|
- name: nginx
|
|
image: nginx:alpine
|
|
resources:
|
|
requests:
|
|
cpu: 400m # Cada pod pede 0.4 CPU
|
|
memory: 512Mi # Cada pod pede 512MB RAM
|
|
limits:
|
|
cpu: 500m
|
|
memory: 640Mi
|
|
# Evita que pods rodem nos control-planes
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: node-role.kubernetes.io/control-plane
|
|
operator: DoesNotExist
|