Kubernetes - 쿠버네티스 오브젝트

박상훈·2022년 5월 10일
0
post-thumbnail

데몬셋(DaemonSet)


deployment replicas 가 노드 수 만큼 정해져 있는 형태, x = 1 -> 노드 x개 = 파드 x개
노드의 단일 접속 지점으로 노드 외부와 통신하는 경우, 파드가 1개 이상 불 필요

컨피그맵


설정을 목적으로 사용하는 오브젝트

PV(PersistentVolume), PVC(PersistentVolumeClaim)


파드에서 생성한 내용 기록, 동일한 설정 값을 유지하고 관리 와 같은 목적에 의한 볼륨
쿠버네티스는 PVC 를 요청하여 사용하려면 PV로 볼륨을 선언 해야한다
PV : 볼륨을 사용할 수 있도록 준비하는 단계
PVC : 준비된 볼륨에서 일정 공간을 할당받는 것
볼륨 타입 : 임시, 로컬, 원격, 특수 목적, 클라우드 ...

NFS(Network File System) 볼륨에 PV/PVC 만들고 파드 연결

mkdir [folder path + folder name]

해당 폴더를 NFS 로 받아들일 IP 영역, 옵션(폴더권한,동기화,등...)
ip 와 option 사이에 공백 없이 입력되어야 함
echo '[folder path + folder name] ip + option' >> /etc/exports

enable --now : 설정 + 활성화(start + enable 과 같음)
systemctl enable --now nfs

PV 실행(오브젝트 스펙) : kubectl apply -f [PV file path]
spec - capacity - storage : 용량 제한 x, 사용할 수 있는 용량을 레이블로 붙이는 형태
spec - accessModes : PV 를 어떤 방식으로 사용할지 정의
spec - accessModes - ReadWriteMany : 여러 개의 노드가 읽고 쓸 수 있도록 마운트
ㄴ ReadWriteOne : 하나의 노드에서 읽고 쓰기, ReadOnlyMany : 여러 개의 노드가 읽기
spec - persistentVolumeReclaimPolicy: PV 제거 시 작동하는 방법 정의
ㄴ Retain : 유지, Delete : 삭제, Recycle : (재활용, Deprecated)
spec -nfs : NFS 서버 연결 위치 설정

apiVersion: v1
kind: PersistentVolume
metadata:
	name: nfs-pv
spec:
	capacity:
    	storage: 100Mi
    accessModes:
      - ReadWriteMany
    persistentVolumeReclaimPolicy: Retain
    nfs:
    	server: [ip address]
        path: [folder name]

PV - PVC 오브젝트 스펙은 거의 차이가 없다
아래는 생성한 PVC 를 볼륨으로 사용하는 디플로이먼트 오브젝트 스펙을 배포한다
spec - containers - image : audit-trail : 요청 처리 시 접속 정보 로그 기록
spec - containers - volumeMounts : 볼륨이 마운트될 위치 지정
spec - volumes - persistentVolumeClaim : PVC 로 생성된 볼륨을 마운트하기 위해 이름 지정

apiVersion: apps/v1
kind: Deployment
metadata:
    name: nfs-pvc-deploy
spec:
    replicas: 4
    selector:
      matchLabels:
        app: nfs-pvc-deploy
    template:
      metadata:
        labels:
          app: nfs-pvc-deploy
      spec:
        containers:
        - name: audit-trail
          image: sysnet4admin/audit-trail
          volumeMounts:
          - name: nfs-vol
            mountPath: /audit
        volumes:
        - name: nfs-vol
          persistentVolumeClaim:
            claimName: nfs-pvc
profile
엔지니어

0개의 댓글