OKE 플랫폼 엔지니어링 랩
active
kubernetes terraform gitops platform-engineering oracle-cloud
개요
Oracle Cloud Free Tier 위에 프로덕션 수준의 Kubernetes 플랫폼을 구축하는 홈랩 프로젝트입니다. IaC부터 GitOps, 시크릿 관리, 인증서 자동화, 인증/인가까지 플랫폼 엔지니어링의 주요 요소를 직접 구성하고 운영합니다.
기술 스택
| 영역 | 기술 |
|---|---|
| Cloud | Oracle Cloud Infrastructure (OCI) |
| IaC | Terraform, Terragrunt |
| Kubernetes | OKE (Oracle Kubernetes Engine) |
| GitOps | ArgoCD |
| Service Mesh | Istio |
| Secret 관리 | HashiCorp Vault, External Secrets Operator |
| 인증서 | cert-manager, Let’s Encrypt, Cloudflare DNS-01 |
| 인증/인가 | Keycloak (OIDC) |
| Storage | NFS (cloud-init), nfs-subdir-external-provisioner |
| 모니터링 | metrics-server |
아키텍처
flowchart LR
subgraph oci["Oracle Cloud Infrastructure"]
subgraph vcn["VCN"]
lb_sub["Public LB Subnet\nKubernetes API, OCI LB"]
pub_sub["Public Subnet\n공개 노드풀 (NFS 서버)"]
priv_sub["Private Subnet\n프라이빗 노드풀 (워크로드)"]
end
subgraph oke["OKE Cluster"]
pub_np["Public Node Pool\nVM.Standard.A1.Flex × 1"]
priv_np["Private Node Pool\nVM.Standard.A1.Flex × 1"]
end
tf["Terraform + Terragrunt (IaC)"]
end
subgraph gitops["Kubernetes — GitOps via ArgoCD"]
subgraph core["infra-core"]
cm[cert-manager]
eso[external-secrets]
istio[istio]
vault[vault]
misc["reflector, nfs-provisioner, metrics-server"]
end
subgraph platform["infra-platform"]
css[cluster-secret-store]
cmconf[cert-manager-config]
isgw[istio-gateway]
kc[keycloak-operator]
vs["argocd-vs, vault-vs"]
end
end
tf -->|프로비저닝| oke
gitops -->|ArgoCD GitOps| oke
시리즈 포스트
이 프로젝트의 구축 과정을 단계별로 정리한 포스트입니다.
| 시리즈 | 내용 |
|---|---|
| 1편 — Terraform + Terragrunt로 OKE 클러스터 프로비저닝하기 | VCN, OKE 클러스터, 노드풀, NFS cloud-init |
| 2편 — ArgoCD App-in-Apps로 인프라 배포하기 | App-in-Apps 패턴, Sync Wave, Helm 멀티소스 |
| 3편 — Vault + External Secrets로 Kubernetes 시크릿 관리하기 | Vault 초기화, Kubernetes Auth, ClusterSecretStore |
| 4편 — Istio + cert-manager로 TLS 인증서 자동화하기 | Istio 설치, DNS-01, 와일드카드 인증서, Reflector |
| 5편 — Keycloak과 Istio로 OIDC 인증 구성하기 | Keycloak Operator, Realm/Client 설정, Istio OIDC |