본문 바로가기

728x90

Kubernetes

쿠버네티스 레플리카셋(Replica Set) 쿠버네티스 레플리카셋(Replica Set) 쿠버네티스에서 레플리카셋(ReplicaSet)은 파드(Pod)의 복제본을 관리하는 리소스입니다. 레플리카셋은 지정된 수의 파드 복제본을 유지하도록 보장하며 파드가 비정상적으로 종료되었을 때 새로운 복제본을 생성하여 대체합니다. 레플리카셋의 중요한 특징 레플리카 수 유지 : 레플리카셋은 사용자가 지정한 수의 복제본을 유지합니다. 파드가 삭제되거나 종료된 경우 새로운 파드를 생성하여 복제본 수를 유지합니다. 라벨 셀렉터 사용 : 레플리카셋은 라벨 셀렉터를 사용하여 자신이 관리하는 파드를 식별합니다. 이를 통해 레플리카셋이 복제하는 파드를 선택할 수 있습니다. 스케일링 : 사용자는 필요에 따라 레플리카셋의 복제본 수를 조정하여 애플리케이션을 확장하거나 축소할 수 있.. 더보기
node-app 도커 이미지를 쿠버네티스로 배포하는 방법 node-app 도커 이미지를 쿠버네티스(Kubernetes)로 배포하는 방법 node-app-deployment.yaml 파일 생성 vim node-app-deployment.yaml # node-app-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: node-app # Deployment의 이름 spec: replicas: 1 # Replica 수 selector: matchLabels: app: node-app # Pod를 식별하기 위한 라벨 template: metadata: labels: app: node-app # Pod에 부여되는 라벨 name: node-app # Pod의 이름 spec: containers: - n.. 더보기
[kubernetes] kubectl get 명령 kubectl get 명령 kubectl get field selector kubectl get pods -o wide --field-selector status.phase=Running $ kubectl get pods -o wide --field-selector status.phase=Running NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES myapp-rs-dynamic-4gchk 1/1 Running 0 23m 10.233.118.66 kube-node3 myapp-rs-dynamic-7wqq4 1/1 Running 0 23m 10.233.73.68 kube-node1 myapp-rs-dynamic-bgmf5 1/1 .. 더보기
[kubernetes] 쿠버네티스 볼륨(Volume) - 동적 프로비저닝(dynamic Provisioning) / nfs 쿠버네티스 동적 프로비저닝(dynamic Provisioning) nfs dynamic provisioner 구성 https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner git clone https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner.git cd nfs-subdir-external-provisioner/deploy rbac 편집 $ cat rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: nfs-client-provisioner # replace with namespace where provisioner is.. 더보기
[kubernetes] 쿠버네티스 볼륨(Volume) - 정적 프로비저닝(Static Provisioning) / nfs 쿠버네티스 정적 프로비저닝(Static Provisioning) nfs 서버 구성(kube-control1) - nfs 서버 구성 : https://sangchul.kr/432 nfs 클라이언트 구성(kube-node1, kube-node2, kube-node3) sudo apt install -y nfs-common showmount -e 192.168.56.11 $ showmount -e 192.168.56.11 Export list for 192.168.56.11: /nfs-directory/shares-data1 192.168.56.0/24 PV(Persistent Volume) 생성 nfs-pv1.yaml 파일 작성 vim nfs-pv1.yaml apiVersion: v1 kind: Persis.. 더보기
[kubernetes] 쿠버네티스 볼륨(Volume) - hostPath 볼륨 쿠버네티스 hostPath 볼륨 hostPath 볼륨 hostPath 볼륨 생성 hostPath1.yaml 파일 작성 apiVersion: apps/v1 kind: ReplicaSet metadata: name: myapp-rs-hostpath spec: replicas: 2 selector: matchLabels: app: myapp-rs-hostpath template: metadata: labels: app: myapp-rs-hostpath spec: containers: - name: web-server image: nginx:alpine volumeMounts: - name: web-content mountPath: /usr/share/nginx/html readOnly: true ports: .. 더보기
[kubernetes] 쿠버네티스 볼륨(Volume) - emptyDir 볼륨 쿠버네티스 볼륨(Volume) 사용 사능한 볼륨 목록 emptyDir 임시로 데이터를 저장하는 빈 볼륨(디렉터리) gitRepo 내부적으로 emptyDir 기능을 이용하여 초기에 git 리포지토리의 내용을 채워서 제공하는 볼륨. 더 이상 사용되지 않음(Deprecated) hostPath 쿠버네티스 클러스터 노드(호스트)의 파일 시스템을 제공하는 볼륨 네트워크 스토리지 볼륨 nfs, cinder, cephfs, iscsi, glusterfs, quobyte, rbd, flexVolume, vsphereVolume, photonPersistentDisk 클라우드 스토리지 볼륨 gcePersistentDisk(GCE Persistent Disk), awsElasticBlockStore(AWS EBS Volu.. 더보기
[kubernetes] 쿠버네티스 워크로드 - 워크로드 리소스 쿠버네티스 워크로드 - 워크로드 리소스 디플로이먼트(Deployment) : 모든 Pod가 필요시 교체 또는 상호 교체할 수 있는 경우, 클러스터의 스테이트리스 애플리케이션 워크로드를 관리하기에 적합 레플리카셋(ReplicaSet) - 레거시 리소스 레플리케이션컨트롤러(ReplicationController)를 대체 : 레플리카 파드 집합의 실행을 항상 안정적으로 유지하는 것이다. 이처럼 레플리카셋은 보통 명시된 동일 파드 개수에 대한 가용성을 보증하는 데 사용한다. 스테이트풀셋(StatefulSet) : 어떻게든 스테이트(state)를 추적하는 하나 이상의 파드를 동작하게 해준다. 예를 들면, 워크로드가 데이터를 지속적으로 기록하는 경우, 사용자는 Pod와 PersistentVolume을 연계하는 St.. 더보기

728x90