emptyDir, hostPath는 컨트롤러의 템플릿이나 파드에 직접 스토리지 볼륨을 정의해야 했습니다. 이는 개발자에게 스토리지에 대한 지식을 요구하고, 볼륨의 생명주기를 파드의 생명주기와 분리할 수 없었습니다. PV, PVC란?PV(PersistentVolume) 및 PVC(PersistentVolumeClaim)는 컨트롤러 및 파드와 별개의 리소스이고, 생명주기 또한 다릅니다. PV 리소스는 클러스터 외부 스토리지와 연결을 담당하고, PVC 리소스는 PV와 파드를 연결하기 위한 리소스입니다. 즉, 클러스터 관리자가 PV 리소스를 생성해 스토리지와 연결해두고, 파드 개발자는 PVC를 생성해 자신의 파드 및 관리자가 제공해 준 PV와 연결해 파드에서 볼륨을 사용할 수 있게 해줍니다. 결국 개발자의 관점..
kubernates
emptyDir 볼륨은 아무 데이터도 없는 빈 디렉토리를 제공해주는 볼륨입니다.파드가 생성하는 데이터를 저장할 수 있고, 동일한 파드 내의 컨테이너 간에 데이터 공유에 유용하게 사용할 수 있습니다. 최초 볼륨이 생성될 때는 volume의 내용이 비어있기 때문에 emptyDir이라고 부릅니다. emptyDirapiVersion: apps/v1kind: ReplicaSetmetadata: name: myapp-rs-fortunespec: replicas: 1 selector: matchLabels: app: myapp-rs-fortune template: metadata: labels: app: myapp-rs-fortune spec: conta..
파드의 컨테이너는 이미지로부터 파일 시스템을 제공받습니다. 즉, 파드가 종료되면 파드 내에 변경된 데이터 또한 사용할 수 없게 됩니다.새 파드가 생성되면 새 파일 시스템을 제공받게 됩니다.데이터를 유지할수 없기 때문에 상태가 없는 stateless 하다. 라고 합니다. 쿠버네티스의 파드는 새 데이터를 보존하기 위해 외부 저장소 볼륨을 생성하고, 볼륨을 컨테이너에 마운트해서 사용합니다.이 볼륨은 여러 파드에서 동시에도 접근이 가능합니다. 볼륨의 라이프 사이클은 파드의 라이프 사이클과 같아 파드가 생성되면 볼륨이 생성되고 파드가 삭제되면 볼륨도 삭제됩니다.파드가 재시작하는 경우에는 데이터가 유지됩니다. 그러나 새로 도입된 PersisentVolume 및 PVClaim을 사용해 파드와 별개의 라이프 사이클을 ..
노드쿠버네티스는 컨테이너를 파드 내에 배치, 노드에서 실행해 워크로드를 구동노드는 클러스터에 따라 가상일수도 물리적 머신일 수도 있음.각 노드는 컨트롤 플레인에 의해 관리되며 파드를 실행하는 데 필요한 서비스를 포함함.일반적으로 클러스터에는 여러 노드가 있고, 환경에 따라 하나만 있을 수 있음 노드의 컴포넌트엔 kubelet, 컨테이너 런타임, kube-proxy가 있음 관리API서버에 노드를 추가하는 방법1. 노드의 kubelet으로 컨트롤 플레인에 자체 등록2. 사용자가 노드 오브젝트를 수동으로 추가 노드 오브젝트 또는 노드의 kubelet으로 자체 증록한 후 컨트롤 플레인은 새 노드 오브젝트가 유효한지 확인ex) JSON 매니페스트에서 노드를 만드려는 경우{ "kind": "Node", "api..
클러스터쿠버네티스를 배포하면 클러스터를 얻음 → 쿠버네티스를 실행 중이라는 것은 클러스터를 실행중인 것과 같다.쿠버네티스 클러스터는 컨테이너화된 애플리케이션을 실행하는 노드라고 하는 워커 머신의 집합.모든 클러스터는 최소 한 개의 워커 노드를 가진다.워커 노드는 애플리케이션의 구성요소인 파드를 호스트한다.컨트롤 플레인은 워커 노드와 클러스터 내 파드를 관리일반적으로 컨트롤 플레인이 여러 컴퓨터에 걸쳐 실행되고, 클러스터는 일반적으로 여러 노드를 실행하므로 내결함성과 고가용성이 제공정리컨트롤 플레인 : 제어영역, Master Node노드 : 컨테이너 실행 역할 , Worker Node컨트롤 플레인, Master Node기본적으로 컨트롤 플레인 컴포넌트는 클러스터에 관한 전반적인 결정을 수행, 클러스터 이벤..
쿠버네티스가 뭔데? 애플리케이션 배포환경 변화전통적인 물리 서버하나의 물리적 서버에 데이터와 서비스를 모두 구성다른 OS 설치를 위해선 다른 물리적 서버를 하나 더 구성해야함같은 리소스를 공유하기 떄문에 서로 영향이 가고 성능 문제 발생하드웨어의 성능은 매우 빠르게 좋아졌지만 소프트웨어의 발전은 속도를 따라가지 못함→ 서버 사양의 10%수준밖에 사용하지 못함 → 매우 비효율적남는 공간을 활용할 방법에 대해 고민하게 됨.가상화 배포 물리적 하드웨어 장치를 논리적 객체로 추상화가상화 기술을 통해 한 대의 서버 위에 동시에 여러 OS를 설치 후 여러 애플리케이션을 실행가상머신을 기반으로 배포하는 방법가상머신은 각각 논리적으로 구분된 가상환경에서 실행되므로 각 다른 OS, 분리된 리소스를 갖고있음하이퍼바이저(H..