Skip to content

Commit

Permalink
docs: documentation about networking [WIP]
Browse files Browse the repository at this point in the history
  • Loading branch information
lee20h committed Nov 14, 2023
1 parent 74d8f2d commit eeeccb9
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions content/post/kubernetes/kubernetes-networking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: "Kubernetes Networking에 대하여"
date: 2023-11-14T22:10:54+09:00
tags:
- kubernetes
- container
- network
categories:
- kubernetes
published: false
---

# Kubernetes Network

앞 포스트에서는 쿠버네티스 워크로드에 대해서만 이야기했었는데, 워크로드만 존재하면 통신이 가능하지는 않다. 그렇다면 통신을 가능케하고 유지해주는 리소스에 대해서 알아보자.

## Kubernetes Network Model

쿠버네티스에서는 각 파드마다 고유한 클러스터 전체 IP 주소가 할당된다. 따라서 파드 간에 명시적으로 링크를 생성할 필요가 없으며, 대부분 컨테이너 포트를 호스트 포트에 매핑할 필요가 없다.
이렇게 되면 파드들을 VM이나 물리적 호스트처럼 취급할 수 있어서 포트 할당, 네이밍, 서비스 디스커버리, 로드 밸런싱, 애플리케이션 구성 및 마이그레이션 측면에서 간단하고 호환 가능하다.

쿠버네티스는 모든 파드가 NAT 없이도 쿠버네티스 내 모든 파드와 통신할 수 있어야 한다는 요구사항이 있다. 왜냐하면 노드의 kubelet이나 데몬같은 에이전트도 모든 파드와 통신이 가능해야하기 때문이다.
또 쿠버네티스에서 IP 주소는 파드 범위에서 존재한다. 따라서, 하나의 파드 내의 컨테이너들은 네트워크 네임스페이스를 공유하게 된다. IP 주소와 MAC 주소를 포함한 네트워크 설정이 파드 내의 모든 컨테이너들에게 동일하게 적용된다. 그러면 파드 내의 컨테이너들은 서로 포트에 로컬호스트를 통해 접근할 수 있다.
이러한 구조는 파드 내의 컨테이너들이 포트 사용을 조정해야한다. VM 내의 프로세스들이 포트를 조정하는 것과 유사하며, 이러한 방식을 `파드당 IP` (IP-per-pod) 모델이라고 한다.

---

0 comments on commit eeeccb9

Please sign in to comment.