Commit Graph

75 Commits

Author SHA1 Message Date
10211f35bc REFACTOR(falco): remove invalid empty string CPU
- limit from falco
Kubernetes rejects cpu: "" as invalid quantity format. Will allow
DaemonSet
to be created with default CPU limit, then manually patch and disable
auto-sync.
2026-01-04 23:41:39 +09:00
fa98684528 CHORE(falco): set Falco CPU limit to empty string
- Override Helm default CPU limit
- Prevent throttling
2026-01-04 23:41:39 +09:00
1408000e4c REFACTOR(falco): remove cpu limits entirely
- from vault and falco
- Remove cpu line from limits section (not just set to null)
- Prevents Helm charts from applying default CPU limit values
- Eliminates CPU throttling for infrastructure components
2026-01-04 23:41:39 +09:00
420cc38efc CHORE(vault): set CPU limits to null for Vault
- Remove CPU limits to prevent throttling
- Optimize resource configuration
2026-01-04 23:41:39 +09:00
9d8a0554c8 FIX(falco): set Falco CPU limit to null
- Explicitly set CPU limit to null
- Prevent throttling
2026-01-04 23:41:39 +09:00
5c0e5364b9 REFACTOR(resources): remove cpu limits
- from infrastructure components
- velero-ui: Remove 200m CPU limit
- metallb controller: Remove 100m CPU limit
- metallb speaker: Remove 100m CPU limit (300m total across 3 nodes)
- falco: Remove 1000m CPU limit (3000m total across 3 nodes)

Total CPU limits removed: ~3600m

This eliminates CPU throttling and reduces CPU limits overcommit from
131% to 0%.
2026-01-04 23:41:39 +09:00
861a5e97d7 PERF(grafana): optimize cpu requests based on
- actual usage from grafa...
- external-secrets: 20m → 5m (actual: 1m)
- external-secrets-webhook: 10m → 2m (actual: 1m)
- external-secrets-cert: 10m → 2m (actual: 1m)
- cnpg: 100m → 5m (actual: 2m)
- haproxy-ingress: 100m → 15m (actual: 9-10m)
2026-01-04 23:41:39 +09:00
100b7be198 REFACTOR(resources): remove cpu limits
- to prevent throttling
Removed CPU limits from all infrastructure components while keeping
memory limits for protection:

- cnpg: removed 500m CPU limit
- external-secrets: removed 200m, 100m CPU limits (operator, webhook,
  certController)
- falco: removed 500m CPU limit (falcosidekick webui)
- vault: removed 500m CPU limit
- velero: removed 500m, 1000m CPU limits (server, node-agent)

Benefits:
-  Prevents CPU throttling
-  Better performance and lower latency
-  More efficient resource utilization
-  Simpler management (only requests to tune)

Memory limits are kept to prevent memory leaks and OOM issues.
2026-01-04 23:41:39 +09:00
b7d3c5bab1 PERF(falco): optimize falco cpu request
- for worker-node-2
Reduced Falco DaemonSet CPU request to prevent node-agent
scheduling failures:
- Falco: 50m → 40m (actual usage ~39m)

This optimization frees up 10m CPU per node. On worker-node-2,
this contributes to the total 110m CPU savings needed for
Velero node-agent (30m request) to be scheduled successfully.

Worker-node-2 CPU allocation before: 840m/1000m (84%)
Worker-node-2 CPU allocation after: 730m/1000m (73%)
2026-01-04 23:41:39 +09:00
9bdb035d93 PERF(falco): reduce Falco resource requests
- Reduce CPU/memory requests for worker-node-2 optimization
- Free up resources
2026-01-04 23:41:39 +09:00
7eba5c06c4 FEAT(velero): activate HTTPS in Falco and update Velero version
- Enable HTTPS for Falco UI
- Update Velero chart version
2026-01-04 23:41:39 +09:00
cf249930a7 REFACTOR(traefik): migrate all ingresses
- from NGINX to HAProxy
- Changed all ingressClassName from nginx to haproxy
- Updated NGINX to ClusterIP mode (backup)
- Set HAProxy as default ingress controller
- Affected files:
  - ingress-nginx/ingress.yaml (22 ingresses)
  - vault/helm-values/vault.yaml (1 ingress)
  - haproxy/argocd/haproxy.yaml (controller config)
  - ingress-nginx/helm-values/ingress-nginx.yaml (backup mode)

This completes the migration to HAProxy as the primary ingress
controller.
2026-01-04 23:41:39 +09:00
25d0bc2c55 FIX(falco): disable SSL redirect for Falco UI
- Disable SSL redirect on ingress
- Fix routing configuration
2026-01-04 23:41:39 +09:00
fe6cc1f9e7 REFACTOR(falco): move Falco Ingress to falco folder
- Move ingress configuration to falco directory
- Disable SSL redirect
2026-01-04 23:41:39 +09:00
81e000260f FEAT(falco): add Falco UI Ingress via infrastructure
- Add ingress for Falco UI
- Configure routing
2026-01-04 23:41:39 +09:00
c5c5a7e469 FEAT(falco): add HAProxy Ingress for Falco UI
- Add HAProxy ingress at falco0213.kro.kr
- Configure SSL/TLS
2026-01-04 23:41:39 +09:00
ac5fde6ba4 FIX(repo): simplify ignoreDiff for all StatefulSets
- Simplify ignoreDifferences configuration
- Reduce complexity
2026-01-04 23:41:39 +09:00
70eb551871 FIX(falco): disable selfHeal for Falco
- Prevent StatefulSet drift issues
- Disable automatic healing
2026-01-04 23:41:39 +09:00
3f18a3cdf8 FEAT(repo): enhance syncPolicy and ignoreDiff for StatefulSet
- Add enhanced sync policy
- Configure ignoreDifferences for StatefulSet
2026-01-04 23:41:39 +09:00
c2b9175b8b FIX(storage): improve ignoreDiff for StatefulSet PVC retention
- Improve ignoreDifferences configuration
- Handle PVC retention policy
2026-01-04 23:41:39 +09:00
18dac6b77f FIX(falco): change Falco driver to modern_ebpf
- Use modern_ebpf driver for kernel 6.14 compatibility
- Fix kernel module issues
2026-01-04 23:41:39 +09:00
10308d48d0 FEAT(velero): Add Velero, Falco,
- and CNPG infrastructure components
Add three critical infrastructure components via GitOps:

- Velero: Backup and disaster recovery solution
  - Configured with Minio S3 backend
  - Daily full cluster backups (30-day retention)
  - Hourly backups for critical namespaces (7-day retention)
  - Credentials managed via External Secrets from Vault

- Falco: Runtime security monitoring
  - eBPF-based threat detection
  - Custom rules for container security
  - Falcosidekick for alert forwarding
  - Prometheus metrics enabled

- CNPG (CloudNativePG): PostgreSQL operator
  - Kubernetes-native PostgreSQL management
  - Automated failover and backups
  - Will replace Bitnami PostgreSQL

All components follow existing GitOps patterns:
- Helm charts deployed via ArgoCD
- Values managed in Git
- Automated sync with selfHeal enabled
2026-01-04 23:41:39 +09:00
fa24f224ee FEAT(vault): add clustersecretstore
- for vault-backend
- Create cluster-wide secret store for External Secrets Operator
- Configure Kubernetes auth with external-secrets service account
- Enable all namespaces to access Vault secrets via ClusterSecretStore
2026-01-04 23:41:39 +09:00
05a5de7c0f CHORE(argocd): update ArgoCD applications to point to cluster-infrastructure
- Update repoURL to cluster-infrastructure repo
- Change source repository reference
2025-12-17 15:12:46 +09:00
2a89801d5e INIT(repo): cluster infrastructure setup 2025-12-17 15:04:56 +09:00