2023년 3월 25일
출처: chapter 2
출처: 쉽게 시작하는 쿠버네티스(길벗)
이 문서는 k8s의 2장에서 다루는 내용으로, 쿠버넷에서 사용되는 네트워크 플러그인인 플라넬(Flannel)을 중심으로 파드와 서비스 간 통신, 외부와 서비스 간 통신 등을 다루고 있습니다.
네트워크 구성에서 CNI의 역할과 네트워크 인터페이스의 통신 순서 등의 기본 개념을 설명하고, 플라넬을 포함한 다양한 네트워크 플러그인에 대한 설명을 다루고 있습니다. 이외에도, 서비스와 파드 간 통신, 외부와 서비스 간 통신 등의 구체적인 시나리오를 다루고 있으며, 이를 위해 netfilter와 iptables 같은 리눅스 커널 기술을 이용하는 방법을 설명하고 있습니다.
| 쿠버네티스 클러스터 | 쿠버네티스의 여러 리소스를 관리하기 위한 집합체. 마스터 노드와 워커 노드로 하나의 클러스터를 구성할 수 있음. | | --- | --- | | 마스터 노드 | 쿠버네티스 클러스터 전체를 관리하는 시스템. 컨트롤 플레인이라고도 함. | | 워커 노드 | 마스터 노드에 의해 명령을 받아 파드를 생성하고 서비스한다고 해서 컴퓨터 머신이라고도 함. | | 컨테이너 런타임 | 파드를 실행하는 엔진. (대표 : 도커, 그 외 : 컨테이너디, 크라이오 등) | | 영구 스토리지 | 파드는 기본적으로 휘발성. 워커 노드에 떠 있는 파드가 삭제되면 파드 안의 모든 데이터도 즉시 삭제. 데이터베이스 같은 중요한 데이터는 파드 외부에 있는 영구 스토리지에 저장해둬야 하고, CSI(Container Storage Interface)로 외부 스토리지를 파드에 연결할 수 있음. |
참고) yaml 파일 쿠버네티스는 새로운 파드를 배포할 때 yaml 파일을 작성해 실행하고 관리. 이러한 yaml 파일들을 매니페스트(mainfest)라고 함.
쿠버네티스 Object를 생성하는 데 필요한 메타정보(스펙)를 yaml파일로 만들어 관리
➊ 가장 먼저 사용자를 인증. 즉, 클러스터에 접속할 권한이 있는 사용자인지를 검증
➋ 사용자가 보낸 명령어를 검증. 명령어가 문법에 맞게 작성되었는지 철자가 맞는지 등을 검증