포트 포워딩 없이 K8s 외부 노출하기: Cloudflare Tunnel의 동작 원리
·
cloudflare
쿠버네티스(Kubernetes)를 공부하며 클러스터 내부의 서비스를 외부에 노출하는 방법을 NodePort와 공유기 설정에서 포트 포워딩(Port Forwarding)이라는 번거로운 과정을 거쳤습니다. 하지만 Cloudflare Tunnel을 만나면 이야기가 달라집니다. 우리 집에 있는 서버의 K8s 클러스터도 공인 IP 하나 없이 단 몇 분 만에 안전한 도메인으로 연결할 수 있습니다. 어떻게 외부에서 들어오는 문을 열지 않고도 트래픽이 클러스터 내부의 Pod까지 안전하게 배달되는 걸까요? 오늘은 취업 준비를 하며 깊게 파고들었던 Cloudflare Tunnel의 아키텍처와 트래픽 흐름을 정리해 보려 합니다. 1. 핵심 매커니즘: Reverse Tunneling일반적인 웹 서버는 외부 사용자가 접속할 수..
백준 3190번 - 뱀 (Go)
·
algorithm
https://www.acmicpc.net/problem/3190분석이 문제는 시뮬레이션을 구현하면 되는 문제입니다. 하지만 뱀의 상태를 Deque 를 사용하여 관리하는게 키 포인트 였습니다.시간 복잡도는 2 공간 복잡도는 2차원 배열 탐색 int형 O(n^2) = 8byte * 101^2 = 약 80,000 뱀의 상태 16byte * 101^2 = 약 160,000 을 더하면 24KB 로 여유롭습니다. 알고리즘을 생각해보면, 뱀의 이동:매 초마다 머리를 다음 칸으로 이동시킵니다.벽이나 자기 자신의 몸에 부딪히면 게임이 종료됩니다.사과가 있다면: 꼬리는 그대로 두고 머리만 추가합니다.사과가 없다면: 머리를 추가하고, 가장 오래된 좌표(꼬리)를 제거합니다.방향 전환:특정 초가 지났을 때 L(왼쪽 90도) ..
백준 12100번 - 2048 (Go)
·
algorithm
https://www.acmicpc.net/problem/12100분석이 문제는 4방향으로 최대 5번의 이동을 하는 시뮬레이션 문제입니다.시간 복잡도는 1 공간 복잡도는 재귀 할때마다 새 보드를 생성하므로, int 형 O(n^2 * 5) = 8byte * 400 * 5 = 16,000 으로 여유롭습니다. 알고리즘을 생각해보면, 방향 탐색 (재귀/백트래킹):상, 하, 좌, 우 4가지 방향으로 5번 이동하는 모든 경로를 재귀 함수로 탐색합니다.각 단계마다 격자 상태를 복사해서 넘겨주어야 원본 데이터가 유지 됩니다.블록 밀기 (Move):한 방향으로 밀 때, "이미 합쳐진 블록은 이번 턴에 다시 합쳐질 수 없다"는 규칙이 가장 중요합니다.예: 2 2 2 2가 한 방향으로 밀리면 8이 아니라 4 4가 되어야 합..