작성일: 2025-10-31카테고리: Kubernetes, DevOps, Container난이도: 초급/중급TL;DR문제: Kubernetes에서 :latest 태그 사용 시 최신 이미지가 반영되지 않는 현상원인: imagePullPolicy: IfNotPresent 설정으로 인해 노드의 캐시된 이미지 사용해결: 개발/운영 환경별 적절한 imagePullPolicy 전략 수립핵심: 태그 전략(latest vs 버전 태그)과 imagePullPolicy는 반드시 함께 고려해야 함결과: 이미지 배포 안정성 향상, 불필요한 네트워크 트래픽 감소, 명확한 버전 관리들어가며imprun.dev는 'API 개발부터 AI 통합까지, 모든 것을 하나로 제공'하는 API 플랫폼입니다. 개발한 API를 LLM의 도구로 연결..
작성일: 2025년 10월 30일대상 독자: 백엔드 아키텍트, 플랫폼 엔지니어난이도: 중급~고급TL;DRimprun은 Serverless 플랫폼에서 Gateway 플랫폼으로 진화했습니다. 이 글은 그 여정에서 마주한 설계 고민들과 해결 방법, 그리고 최종 결정에 이르기까지의 과정을 공유합니다.핵심 변화:❌ Serverless 플랫폼 (Vercel/Netlify 같은)✅ "Gateway 플랫폼" - 다양한 게이트웨이를 제공ApiGateway: CloudFunction 기반 REST API 개발 ({id}.api.imprun.dev)AiGateway: MCP+LLM 조합 AI 채팅 ({id}.ai.imprun.dev, 향후)모든 Gateway는 동일한 패턴: Environment + ClientApp리팩토링..
작성일: 2025년 10월 29일대상 독자: 플랫폼 엔지니어, DevOps 엔지니어, 아키텍트난이도: 중급~고급주제: Environment Segregation, Deployment Pipeline, Multi-stage ArchitectureTL;DR✅ 고정 3 Stage 전략: dev, staging, prod (추가 불가, 간결함 우선)✅ Function Name Prefix: dev/user/me, prod/user/me (물리적 분리)✅ 독립 코드 관리: 각 Stage별 별도 Document (환경 간 영향 없음)✅ 클릭 배포: dev → staging → prod 코드 복사 (원클릭)✅ Plugin 계층: Application → Stage → Function (Override 가능)✅ 조건부..
작성일: 2025년 10월 29일대상 독자: 플랫폼 엔지니어, 아키텍트, API Gateway 설계자난이도: 중급~고급주제: Apache APISIX, Kubernetes, 서버리스 아키텍처TL;DR✅ Gateway → Environment → Function 3계층 아키텍처를 APISIX로 구현✅ Route 수 최소화: 100개 Function이어도 Gateway당 Route 4개만 생성✅ 동적 라우팅: APISIX Route는 고정, Runtime이 Function 동적 실행✅ Plugin 계층 상속: Gateway 전역 → Environment별 → Function별 Override✅ 멀티 테넌트: Application마다 독립된 Namespace와 Upstream✅ Kubernetes Native..
작성일: 2025-10-28대상: APISIX Ingress Controller 2.0 사용자TL;DR 🎯2025년 현재, Kubernetes Ingress + annotations 사용을 권장합니다.✅ ApisixPluginConfig는 deprecated 아님 - 활발히 사용 중❌ ApisixClusterConfig만 삭제됨 - ApisixGlobalRule로 대체🚧 Gateway API는 Alpha - CORS, 플러그인 미지원APISIX Ingress Controller 2.0 CRD 현황공식 지원 CRD (2025-10-28 기준)v2 (APISIX 네이티브) - ✅ StableCRD용도상태비고ApisixRoute라우팅 규칙✅ StableApisixRoute/v2ApisixPluginConf..
작성일: 2025-10-28대상: Kubernetes + Cilium 환경에서 Kong, APISIX 등 API Gateway 운영자개요Kubernetes에서 API Gateway(Kong, APISIX 등)를 배포할 때, kube-proxy 대신 Cilium을 사용하는 환경에서는 외부 트래픽 라우팅 전략이 달라집니다.이 문서는 Cilium 환경에서 NodePort + iptables 조합이 작동하지 않는 이유와, 상황별 최적 아키텍처 선택 가이드를 제공합니다.목차문제 상황: NodePort가 iptables에서 보이지 않음근본 원인: Cilium의 eBPF 기반 네트워킹해결 방법: hostNetwork 사용아키텍처 선택 가이드: MVP vs 프로덕션실전 구성 예시문제 상황: NodePort가 iptab..
작성일: 2025-10-28카테고리: DevOps, Kubernetes, API Gateway난이도: ⭐⭐⭐⭐ (고급)TL;DRAI Gateway를 구축하기 위해 Kong에서 APISIX로 전환하는 과정에서, 문서 오류부터 시작해 6가지 주요 시행착오를 겪었습니다. 최종적으로 hostNetwork: true + 9080/9443 포트 + iptables REDIRECT 방식으로 안정적인 구성을 완성했습니다.핵심 교훈:📝 문서는 정확하게 작성하자 - 이전 블로그를 잘못 작성해서 반나절 낭비Cilium 환경에서는 NodePort가 eBPF로 처리되어 iptables REDIRECT 대상이 될 수 없음CAP_NET_BIND_SERVICE만으로는 nginx 기반 애플리케이션이 80/443에 바인딩 불가APIS..
작성일: 2025년 10월 27일카테고리: React, Monaco Editor, 디버깅난이도: 중급TL;DR문제: TextModel got disposed before DiffEditorWidget model got reset 에러 발생원인: @monaco-editor/react의 DiffEditor가 props 변경 시 모델을 재생성하면서 dispose 충돌 발생해결: keepCurrentOriginalModel={true} + keepCurrentModifiedModel={true} props 추가 (단 2줄!)결과: 복잡한 cleanup 로직 없이 깔끔하게 해결, 코드 45% 감소들어가며imprun.dev는 Kubernetes 기반 서버리스 Cloud Function 플랫폼입니다. 웹 콘솔에서 함..
작성일: 2025년 10월 27일카테고리: Kubernetes, Gateway API, Kong난이도: 중급TL;DR문제: Ingress는 각 컨트롤러마다 다른 annotation 문법을 사용하여 vendor lock-in 발생해결: Kubernetes 표준 Gateway API로 전환하여 포터블하고 명시적인 설정 달성결과: Kong 전용 KongPlugin → 표준 HTTPRoute로 전환 완료핵심: Gateway API는 단순한 리소스 교체가 아닌, Kubernetes 네트워킹의 패러다임 전환들어가며imprun.dev는 Kubernetes 기반 서버리스 Cloud Function 플랫폼입니다. API Gateway로 Kong Ingress Controller를 사용하면서, vendor 종속적인 ann..
작성일: 2025년 10월 27일카테고리: Kubernetes, Security, Networking난이도: 중급TL;DR문제: Kong Gateway를 80/443 포트에서 실행하려면 root 권한 필요 (보안 위험)해결: NodePort(30080/30443) + iptables 포워딩으로 보안, 고가용성, 무중단 배포 모두 확보핵심: Linux 1024 미만 포트는 root만 바인딩 가능하지만, iptables는 커널 레벨에서 포워딩결과: Pod는 root 없이 실행, 다중 Pod로 HA 구성, Rolling Update 무중단, 외부에서는 80/443으로 접속들어가며imprun.dev는 Kubernetes 기반 서버리스 Cloud Function 플랫폼입니다. API Gateway로 Kong을 운..
- Total
- Today
- Yesterday
- Tailwind CSS
- frontend
- Developer Tools
- backend
- EnvironmentAgnostic
- Next.js
- GPT-5.1
- ai coding
- authorization
- Kubernetes
- imprun.dev
- AI agent
- NestJS
- react
- security
- claude code
- AGENTS.md
- troubleshooting
- feature-sliced design
- Claude Opus 4.5
- api gateway
- Gemini 3.0
- zustand
- AI
- Claude
- authentication
- CLAUDE.md
- Development Tools
- Go
- architecture
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
