"# KubernetesWithVM"
-
2대 이상의 컴퓨터(노드)가 필요. 이를 위해 오라클의 버츄얼 박스를 생성하여 마스터노드와 워커노드를 따로 설정할 예정
-
쿠버네티스 조직도(?)
1 쿠버네티스 = n 클러스터
1 클러스터 = n 노드 (클러스터 1개는 비유하자면 회사 하나임. 노드들은 같은 작업을 나눠서 수행하기도, 때로는 다른 작업을 분업하기도 함.)
1 노드 = n pod (pod가 여러 개인 이유는 너무 많은 수의 동일한 작업을 분산시켜 안정성 확보. 계란을 한 바구니에 담지 마라.)
1 pod = n 프로그램
1 프로그램 = n 컨테이너 (프로그램부터 우리가 생각하는 애플리케이션)
1 컨테이너 = n 이미지
-
쿠버네티스 네트워크 구성 원칙
- 노드 간 통신이 가능해야 한다. 그래야 마스터가 워커한테 일을 시키니까
- 쿠버네티스는 각 Pod에 고유한 IP를 할당하는데, 한 노드 내의 Pod는 같은 대역을 공유하며, 이를 위해 별도의 Pod 네트워크(CNI 플러그인 사용)가 필요하다.
- 각 노드는 이미지 다운로드를 위한 인터넷에 연결이 되어야 한다.
-
실제 운영 환경에선
-
인터넷 통신을 위한 클러스터 단위의 대역폭 ex. 10.0.2.0/24
-
노드 간 소통을 위한 노드 단위의 대역폭 ex. 192.168.0.0/24
-
Pod에 할당해주는 대역폭 ex. 172.168.1.0/24
-
https://arin-nya.tistory.com/130 https://kubernetes.io/ko/docs/home/