반응형
01.스토리지 for Kubernetes
쿠버네티스에서 스토리지는 컨테이너와 파드 간의 데이터를 관리하고 영속성을 제공하는 중요한 측면입니다. 쿠버네티스는 다양한 스토리지 옵션을 제공합니다.
1) Temp Storage: emptyDir
emptyDir: Pod 생성시 기본적으로 설치되는 볼륨(해당 pod 볼륨)
- pod가 삭제되면 바로 같이 삭제
- 일시적 사용에 적절
- 동일한 pod 내 container 간 파일 공유가 가능
2) Local Storage: hostPath, Local
hostPath: node에 설치되는 볼륨(해당 node 볼륨)
- 같은 node를 공유하는 pod끼리 공유가 가능
- pod가 삭제되어도 hostPath의 데이터는 삭제되지 않음(← 파일 시스템에 있는 파일이나 디렉터리를 마운트하기 때문)
- pod가 다른 node로 스케줄링되면 이전 데이터를 볼 수 없음
cat <<EOT> hostpath.yaml
apiVersion: v1
kind: Pod
metadata:
name: hostpath-pod
spec:
terminationGracePeriodSeconds: 3
nodeSelector:
kubernetes.io/hostname: k8s-w1
containers:
- name: my-container
image: busybox
args: [ "tail", "-f", "/dev/null" ]
volumeMounts:
- name: hostpath-volume
mountPath: /doik-pod-v
volumes:
- name: hostpath-volume
hostPath:
path: /doik-v
type: DirectoryOrCreate
EOT
Local: 디스크, 파티션, 디렉터리 같은 마운트된 로컬 스토리지 장치
- Static Provisioning으로 생성된 PV으로만 사용할 수 있다. (Dynamic Provisioning 지원 불가
PV의 nodeAffinity를 확인
3) PV / PVC
PV(Persistent Volume) : 스토리지
- NFS, 퍼블릭클라우드의 스토리지 서비스 등의 다양한 볼륨 형태를 PV로 등록하여 사용 가능(← admin이 지정)
- 프로비저닝 방식
- Static Provisioning: 클러스터 관리자가 프로비저닝*(PVC가 직접적으로 PV를 바라 봄)*
- Dynamic Provisioning: Storage Class를 사용하여 동적으로 프로비저닝*(PVC가 StorageClass를 바라 봄)*
PVC(Persistent Volume Claim):사용자의 스토리지(PV)에 대한 요청
- pod는 node 리소스를 사용하고 PVC는 PV 리소스를 사용
- pod가 다른 node로 스케줄링된 경우에도 동일한 데이터를 사용 가능
4) Volume 성능측정: kubestr
kubestr: 자동으로 *pv, pod를 생성하여 **성능 측정(*그 후에는 알아서 리소스 삭제)
- 현재 Storage Class에 대한 configuration 검증
- 현재 Storage Class가 뭐가 있으며, 문제는 없는지 간략하게 확인 가능
02. 네트워크 for Kubernetes
쿠버네티스에서의 네트워킹은 파드, 서비스 및 외부 네트워크 간의 통신을 의미합니다. 쿠버네티스는 다음과 같은 네트워킹 구성 요소를 제공합니다
서비스: Service
pod를 외부로 노출시키려면 service를 이용(기본적으로 pod를 생성하면 클러스터 내부에서만 소통이 가능)
- Cluster Type : 다수의 파드에 접속할 수 있는 Pod-LB역할을 하는 service를 생성
- NodePort Type : 실제 외부 클라이언트가 클러스터 내부로 접속할 수 있도록 하는 서비스
'Kubernetes' 카테고리의 다른 글
'쿠버네티스에 레디스 캐시 클러스터 구축기' 카카오 테크 내용 정리 (0) | 2023.08.12 |
---|---|
MySQL on Kubernetes 카카오 강연 내용 정리 (0) | 2023.08.12 |
Kubernetes : mysql-operator 개념 (0) | 2023.08.12 |
Kubernetes : Statefulset/Headless 개념 (0) | 2023.08.12 |