본문 바로가기

쿠버네티스,도커9

컨테이너 기술, 쿠버네티스, 도커 최근 on-premis 환경보다 클라우드 서비스가 보편화되면서 도커, 쿠버네티스 등 컨테이너 시스템을 사용하는 아키텍처가 각광받고 있다. 그래서 컨테이너 기술, 쿠버네티스, 도커를 정리해보자. 컨테이너는 가상화 ( 하이퍼바이저 ) 기술을 사용하여 애플리케이션에 필요한 모든 구성요소 ( 네트워크, memory, cpu, 파일) 을 하나의 런타임 환경으로 묶는데 사용한다. cgroupfs 를 사용하여 리눅스 os에서 자원을 할당받고, 네임스페이스를 활용하여 할당받은 자원을 다른 네임스페이스와 격리시킨다. 마지막으로 chroot 기술을 사용하여 다른 컨테이너와 루트 디렉터리를 격리시킨다. 그래서 컨테이너는 ‘애플리케이션’과 ‘애플리케이션을 구동하는 환경’을, ‘Host OS’ 로부터 격리한 공간을 의미한다. .. 2022. 11. 21.
pv, pvc, po, svc 2022. 10. 12.
RAFT 리더 선출 알고리즘 https://yoongrammer.tistory.com/50 etcd의 알고리즘에 대해서 알아보자. ETCD의 리더 선출 알고리즘은 "분산 합의 알고리즘" 이라고 부른다. 여기서 합의란 클러스터 내부의 노드들이 데이터를 공유하는 상태 ( 동기화 ) 가 되는 것을 의미한다. 클러스터 내부에 노드들은 3가지 형태를 가진다. 1. Follower ( 팔로워 ) : leader로부터 AppendEntry메시지를 받아 처리하는 상태 2. candidate ( 후보 ) : leader로 선출될 수 있는 후보군 3. Leader ( 리더 ) : leader로 선출된 상태 리더 선출 과정 모든 노드는 follower 상태에서 시작 election timeout이 시작하고, election timeout이 지난 노드들.. 2022. 10. 11.
쿠버네티스 정리중 1. 파드 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 단위. 너무 낮은 수준인 컨테이너에 각 ip를 할당하게 되면 nat 프로토콜에 과부하가 걸림. 그렇다고 호스트 수준에 ip를 부여하게 되면 포트 관리가 너무 힘들어짐. 그러므로 쿠버네티스에서는 파드 수준에 ip를 부여함으로써 이를 해결함. 2. 볼륨 컨테이너에 내의 파일들은 임시적이며, 컨테이너가 다운되면 파일들이 손실된다는 문제가 잇다. kubelet이 컨테이너를 다시 실행해도 이미 초기화 된 컨테이너라 데이터가 소실된다. 도한 pod에서 실행되는 컨테이너 간의 파일을 공유할 때 복잡해지는 문제가 있다. 이러한 문제는 볼륨 추상화를 활용해 문제를 해결한다. emptyDir: 일시적인 데이터를 저장하는 데 사용되는 간단한 빈 디렉터.. 2022. 10. 10.