본문 바로가기

IT 공부기

[IT 공부기] 서버부터 네트워크, Kubernetes까지 한 흐름으로 정리

본 글은 인프라와 네트워크를 학습하며 정리한 내용입니다.
전체적인 흐름을 설명하는 데 초점을 두었으며, 세부 구현은 경우에 따라 다를 수 있습니다.
잘못된 부분이나 추가 의견이 있다면 언제든 환영합니다!


AI 또는 IT 업무를 하다보면, 반드시 필요한 개념이 인프라나 네트워크입니다.

이 내용들을 공부하다 보면 각각의 개념은 알겠는데, “이게 실제로 어떻게 이어지는지” 헷갈릴 때가 많습니다.

그래서 이번 글에서는 물리 서버 → 가상화 → 네트워크 → 통신 → Kubernetes까지

하나의 흐름으로 정리해보려고 합니다.

 


1. 시작은 물리 서버 또는 클라우드 인프라

모든 인프라는 결국 서버에서 시작합니다.

  • 온프레미스 환경이라면 물리 서버
  • 클라우드 환경이라면 AWS 같은 클라우드 인프라

방식은 다르지만,
CPU, 메모리, 디스크 같은 자원을 제공한다는 점은 동일합니다.


2. 물리 서버 위에 가상 머신(VM) 만들기

요즘은 물리 서버 한 대에
서비스 하나만 올리는 경우는 거의 없습니다.

그래서 보통 가상화를 사용합니다.

  • 온프레미스 → vSphere 같은 가상화 플랫폼
  • AWS → EC2 (가상 머신)

이렇게 해서 하나의 서버 위에,

  • VM1
  • VM2
  • VM3
  • VM4
  • VM5

같은 여러 VM을 생성하게 됩니다.


3. VM이 살 공간, 네트워크 만들기

VM을 만들었다고 끝은 아닙니다.
이제 네트워크 공간이 필요합니다.

 

AWS와 온프레미스의 차이

  • AWS
    • VM(EC2)은 반드시 VPC 안에서만 생성 가능
    • VPC는 클라우드 환경에서 사용하는 네트워크 단위
  • 온프레미스
    • VLAN(L2) + Subnet(L3) 조합으로 네트워크 구성
    • 필요하면 VRF를 사용해 라우팅 영역을 분리하기도 함

그리고 중요한 점 하나.

 

VM은 하나 이상의 NIC를 가질 수 있고,
각 NIC는 반드시 하나의 Subnet에 속합니다.

(중간 소속 같은 건 없음)

 


4. 네트워크 분리 개념 정리 (VLAN / Subnet)

여기서부터 헷갈리기 쉬운 부분입니다.

VLAN이란?

  • Layer 2에서 네트워크를 논리적으로 나누는 기술
  • 물리적으로는 같은 스위치여도, 논리적으로는 다른 네트워크처럼 분리 가능

Subnet이란?

  • VLAN에 IP 주소 범위를 부여한 개념
  • Layer 3 영역

보통은 관리 편의를 위해 이렇게 구성합니다.

  • VLAN 1개 ↔ Subnet 1개

Subnet에는 VM이 없을 수도 있고, 여러 개가 있을 수도 있습니다.

예를 들면,

  • Subnet1 → VM1, VM2
  • Subnet2 → VM3
  • Subnet3 → VM4, VM5

기본적으로 VM은 하나의 Subnet에 속하지만,
NIC가 여러 개라면 여러 Subnet에 걸쳐 있을 수도 있습니다.


5. VM 간 통신은 어떻게 이루어질까?

통신 방식은 생각보다 단순합니다.

  • 같은 Subnet(VLAN)   →   스위칭 (Layer 2)
  • 다른 Subnet   →   라우팅 (Layer 3)

예를 들면,

  • 10.0.1.x ↔ 10.0.1.y     →      같은 대역, 스위칭
  • 10.0.1.x ↔ 10.0.2.x     →      다른 대역, 라우팅

원래 스위치와 라우터는 물리 장비였지만, 요즘은 대부분 가상화(SDN) 되어 있습니다.

여기서 한 가지 더 짚고 가면,

  • VLAN 자체에는 IP가 없습니다
  • IP는 VM의 NIC에 할당
  • VM 내부의 프로그램은 IP + Port로 구분됩니다

그래서 우리가 흔히 보는 API 주소도,

 

IP:Port + Path(경로) 형태를 가지게 됩니다.

 

다른 Subnet에 있는 API를 호출하려면,

  • 라우팅이 가능해야 하고
  • 방화벽 정책도 허용되어 있어야 합니다

여러 API를 한곳에서 관리하고 보호하는 역할을 하는 게
API Gateway입니다.


6. 그 위에 올라가는 Kubernetes 계층

이제 애플리케이션 레벨로 올라가 봅니다.

  • VM 하나 안에는 여러 컨테이너가 있을 수 있고
  • Kubernetes는 여러 VM(Node)을 묶어서, 컨테이너를 관리하는 시스템입니다

중요한 점은,

 

Kubernetes는 VM, Subnet, VLAN 구조와 직접적인 의존은 없습니다.
네트워크만 연결되어 있으면 하나의 클러스터로 관리할 수 있습니다.

 

 

대표적인 예로는,

  • EKS
    • Kubernetes + 운영 자동화
    • AWS에서 Control Plane을 관리
  • OKD
    • Kubernetes + DevOps + CI/CD
    • 이미지 레지스트리, UI까지 포함된 Red Hat 기반 플랫폼

정리해보면

  • 물리 서버 또는 클라우드 인프라 위에
  • 가상 머신을 만들고
  • 네트워크(VPC / VLAN / Subnet)를 구성한 뒤
  • 그 위에서 Kubernetes가 컨테이너를 관리한다

이렇게 한 단계씩 쌓여 올라가는 구조라고 보면
전체 그림이 훨씬 깔끔해집니다.

반응형