[Kubernetes] 동적 프로비저닝 (Dynamic Provisioning) ( + NFS 동적 프로비저닝)
DevOps/Kubernetes2022. 5. 29. 21:04[Kubernetes] 동적 프로비저닝 (Dynamic Provisioning) ( + NFS 동적 프로비저닝)

✔️ Dynamic Provisioning (동적 프로비저닝) 지금까지 PV를 사용하려면 미리 외부 스토리지를 준비해야만 했다. 예를 들어 AWS EBS를 PV로 사용하려면 EBS를 미리 생성한 뒤, 볼륨 ID를 YAML 파일에 직접 입력하는 방식으로 사용했다. 하지만 매번 이렇게 볼륨 스토리지를 직접 수동으로 생성하고 스토리지에 대한 접근 정보를 YAML 파일에 적는 것은 귀찮은 일이다. 이를 위해 쿠버네티스는 Dynamic Provisioning 기능을 제공한다. 다이나믹 프로비저닝은 PVC이 요구하는 조건과 일치하는 PV이 존재하지 않는다면 자동으로 PV와 외부 스토리지를 함께 프로비저닝하는 기능이다. 따라서 Dynamic Provisioning을 사용하면 EBS와 같은 외부 스토리지를 직접 미리 ..

[Kubernetes] Storage Classes (스토리지 클래스)
DevOps/Kubernetes2022. 5. 29. 21:02[Kubernetes] Storage Classes (스토리지 클래스)

✔️ Storage Classes (스토리지 클래스) 스토리지 클래스 | Kubernetes PVC를 정의하면, PVC의 내용에 따라서 쿠버네티스 클러스터가 물리 Disk를 생성하고, 이에 연결된 PV를 생성한다. 실제 환경에서는 성능에 따라 다양한 디스크(nVME, SSD, HDD, NFS 등)를 사용할 수 있다. 디스크를 생성할때 필요한 디스크의 타입을 정의할 수 있는데 동적 프로비저닝 방식을 이용하는 것을 storageClass라고 하고, PVC에서 스토리지 클래스를 지정하면 이에 맞는 디스크를 생성하도록 한다. 개발자는 PVC를 이용해 볼륨을 손쉽게 요청할 수 있지만 운영자는 PV로 사용할 볼륨을 수동으로 프로비저닝 해야 한다. 이러한 불편함을 해결하기 위해 자동으로 볼륨을 생성, 할당하는 Sto..

DevOps/Kubernetes2022. 5. 29. 20:58[Kubernetes] 정적 프로비저닝 (Static Provisioning) ( + NFS 정적 프로비저닝)

✔️ 정적 프로비저닝 (Static Provisioning) PV 및 PVC 리소스를 직접 생성하고 사용하는 방식이다. ✔️ NFS를 사용한 정적 프로비저닝 (Static Provision) node1을 임시 NFS 서버로 만들고 데이터를 RWX 형태로 공유해보는 실습을 진행한다. sudo apt install nfs-kernel-server -y nfs-kernel-server 패키지를 설치한다. sudo mkdir /nfsvolume echo " Hello NFS Volume " | sudo tee /nfsvolume/index.html 디렉토리를 만들고 /nfsvolume/index.html 파일을 만든다. sudo vi /etc/exports /nfsvolume 192.168.100.0/24(rw..

DevOps/Docker2022. 5. 9. 17:19[Docker] Docker Volume (볼륨)

✔️ Docker Volume 개요 이미지는 하나 이상의 layer로 구성되어 있다. 이미지의 레이어는 어떻게 확인하는가 ? 1) 이미지를 받을 때(pull) 확인할 수 있다. 2) docker inspect 명령 실행 후 layer에서 확인할 수 있다. "RootFS": { "Type": "layers", "Layers": [ "sha256:e59fc94956120a6c7629f085027578e6357b48061d45714107e79f04a81a6f0c" ] }, 이미지는 immutable이므로 절대 바뀌지 않는다. 이미지로 컨테이너를 만들게 되면 기존 이미지의 내용이 변하지 않고 컨테이너로 생성된다. 즉 이미지는 read-only 상태이며 쓰기 작업을 할 수 없다. 만약 그 위에 read/write..

[Kubernetes] Object 개념
DevOps/Kubernetes2022. 3. 17. 10:23[Kubernetes] Object 개념

✔️ Kubernetes 구성 쿠버네티스는 크게 오브젝트(Object)와 오브젝트를 관리하는 컨트롤러(Controller)로 나눠져 있다. 쿠버네티스 오브젝트는 쿠버네티스 시스템에서 영속성을 가진다. 오브젝트를 생성하면 쿠버네티스는 원하는 상태를 보장하기 위해 지속적으로 작동한다. 쿠버네티스는 클러스터의 상태(Status)를 나타내기 위해 이 오브젝트를 이용한다. 거의 모든 쿠버네티스 오브젝트는 오브젝트 구성을 결정해주는 두개의 중첩된 오브젝트 필드인 status와 spec을 포함한다. status : 쿠버네티스 시스템과 컴포넌트에 의해 제공되고 업데이트된 오브젝트의 현재 상태를 설명 spec : 오브젝트의 특성으로 추구하는(Desired) 상태를 설명 컨트롤러는 status가 spec과 일치하도록 오브..

image