쿠버네티스(2) : POD

NOHHYEONGJUN·2024년 9월 7일

쿠버네티스

목록 보기
3/23

POD

  • 쿠버네티스 애플리케이션의 기본 실행 단위 (만들고 배포할 수 있는 가장 작은 단위)
  • Docker는 쿠버네티스 파드에서 사용되는 가장 대표적인 컨테이너 런타임.
  • 파드는 다른 컨테이너 런타임도 지원. (rtk, containerd)
  • 파드당 컨테이너 비율은 대체로 1:1. (예외도 존재)
  • 파드 내의 컨테이너는 오로지 하나의 노드 내에만 존재. (노드에 걸쳐서 파드가 존재하지 않음)
  • 동일 파드 내의 컨테이너는 네트워크 및 볼륨을 공유.


Network

  • K8S의 파드들은 단순하고 공유 가능한 Network Address 주소 값을 가짐. (flat network)
  • 각각의 파드는 각각의 IP주소 값을 가지고 있으며, 이 IP를 이용해 통신을 허용.
  • NAT(Network Address Translation) 같은 장비 없이, 마치 LAN(Local Area Network)처럼 통신 가능.
  • 파드 내의 여러개 Container는 서로 다른 Port를 통해 서비스 해야 함.


pod 생성

apiVersion: v1
kind: Pod
metadata:
 name: myapp-pod
 labels:
 app: myapp
spec:
 containers:
 - name: myapp-container
 image: busybox
 command: ['sh', '-c', 'echo Hi K8S! && sleep 3600']

apiVersion : k8s api version
kind : k8s 리소스 타입
metadata : 이름, 레이블 등의 부가 정보
spec : 컨테이너 정보


profile
Cloud/DevOps & Network Virtualization에 관심 있는 Engineer입니다. 🐳⚓️👨‍✈️

0개의 댓글