Cloud Computing - #14 쿠버네티스(Kubernetes, K8S) 실습
컨테이너 오케스트레이션
컨테이너의 배포, 관리, 확장 등을 자동화하는 기술
쿠버네티스(Kubernetes, K8S)
오픈 소스 기반의 대표적인 컨테이너 오케스트레이션 도구
다수의 컨테이너 자동으로 운영 - 컨테이너 자동 배포, 자동 스케일링



Pod
쿠버네티스에서 관리하는 가장 작은 배포 단위
Pod는 1개 이상의 컨테이너 포함
컨테이너 생성 시 Pod 생성 x / Pod 생성 시 컨테이너가 내포된 상태임

Worker Node1이 일반적인 컨테이너 운영 방식
Worker Node3은 3개의 컨테이너가 1개의 Pod로 관리되고, 특정 목적 있을 시 사용
Pod 생성
쿠버네티스 클러스트 제어 명령어(Kubectl)를 활용 -> Pod 제어
컨테이너가 포함된 Pod를 한 번에 생성 가능
Docker 명령어에 대한 API 제공 (Docker 명령어와 유사)


Pod 여러 개 생성 시 Pod를 어떻게 배치할지 정해야 함
apps 단위로 작동
--replicas라는 명령어로 개수 추가 및 삭제(수정 가능)
쿠버네티스 제어 명령어

[실습]
master node 1개 생성, worker node 2개 생성

클러스터 master node 초기화하기 위한 명령어

master node에서 실행


worker node로 사용하고 싶은 노드에 실행 - node 2, node 3

node 2

node 3

현재 클러스터에 생성된 node 확인

클러스터의 네트워킹 초기화 명령어 실행 - master node에서만 실행


node 재확인 시

아직 Pod는 생성되지 않았음

Pod를 그룹화하여 관리하는 deployment 또한 아직 생성 안됨

web1 pod 생성, web2 pod 생성

pod 목록조회

web1, web2 pod 조회


레이블까지 확인


node3에 pod 배치 - nodeSelector 사용

web3 정보 조회

web1 pod에 접속


deployment.apps 생성

조회 시 하나 생성됨 확인

하나만 생성된 이유? replicas(pod 개수) 옵션을 설정 안해서 자동으로 하나만 생성됨

deployment.apps 수정

replicas 1 -> 3 수정


편집 완료


replicas 수정 시 동일한 방법으로 수정 가능
-> 오케스트레이션 자동화의 장점