본문 바로가기

k8s

[k8s] 쿠버네티스 스토리지, 보안 관리(PV/PVC, RBAC, 모니터링)

1. 스토리지 관리
1.1. PersistentVolume (PV)
- 클러스터의 스토리지 리소스를 추상화하여 관리
- 스토리지 종류:
  * 클라우드 스토리지 (AWS EBS, Azure Disk, GCE PD)
  * NFS, iSCSI와 같은 네트워크 스토리지
  * 로컬 스토리지
- 접근 모드:
  * ReadWriteOnce (RWO): 단일 노드 읽기/쓰기
  * ReadOnlyMany (ROX): 다중 노드 읽기
  * ReadWriteMany (RWX): 다중 노드 읽기/쓰기

1.2. PersistentVolumeClaim (PVC)
- 사용자가 스토리지 요청을 위해 사용
- 스토리지 요구사항 정의:
  * 용량
  * 접근 모드
  * 스토리지 클래스
- PVC 예시:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
  storageClassName: standard
  volumeMode: Filesystem


1.3. StorageClass
- 동적 볼륨 프로비저닝을 위한 스토리지 정의
- 스토리지 프로비저너 설정
- 볼륨 파라미터 정의
- 예시:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp2
  fsType: ext4
reclaimPolicy: Delete
allowVolumeExpansion: true



2. 구성과 보안
2.1. ConfigMap
- 설정 데이터를 키-값 쌍으로 저장
- 사용 방법:
  * 환경 변수로 주입
  * 볼륨으로 마운트
  * 커맨드 라인 인자로 전달
- 실시간 업데이트 지원

2.2. Secret
- 민감한 정보 저장 및 관리
- 시크릿 종류:
  * Generic: 일반 시크릿
  * TLS: 인증서와 키
  * Docker-registry: 도커 레지스트리 인증
- 암호화 옵션:
  * etcd 암호화
  * Base64 인코딩
  * 외부 키 관리 시스템 연동

2.3. RBAC (Role-Based Access Control)
- Role과 ClusterRole
  * 네임스페이스 범위의 권한
  * 클러스터 범위의 권한
  * API 리소스에 대한 권한 정의

- RoleBinding과 ClusterRoleBinding
  * 사용자/그룹과 Role 연결
  * ServiceAccount 권한 설정
- 예시:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: default
  name: pod-reader
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "watch", "list"]


3. 클러스터 운영과 모니터링
3.1. 리소스 모니터링
- 메트릭 수집:
  * CPU 사용률
  * 메모리 사용량
  * 디스크 I/O
  * 네트워크 트래픽

- 모니터링 도구:
  * Prometheus
  * Grafana
  * Kubernetes Dashboard
  * Metrics Server

3.2. 로깅 시스템
- 중앙화된 로그 관리:
  * ELK Stack (Elasticsearch, Logstash, Kibana)
  * Fluentd
  * Loki

- 로그 수집 대상:
  * 컨테이너 로그
  * 시스템 로그
  * 애플리케이션 로그

3.3. 알림 및 경고
- 알림 구성:
  * 리소스 임계값 설정
  * 가용성 모니터링
  * 성능 지표 감시

- 알림 채널:
  * 이메일, Slack, PagerDuty, 웹훅 등

3.4. 클러스터 유지보수
- 백업 및 복구:
  * etcd 백업
  * PV 데이터 백업
  * 설정 백업

- 업그레이드 관리:
  * 컨트롤 플레인 업그레이드
  * 노드 업그레이드
  * 무중단 업그레이드 전략

- 문제 해결:
  * 로그 분석
  * 이벤트 모니터링
  * 디버깅 도구 활용

'k8s' 카테고리의 다른 글

K8S CI/CD  (1) 2025.03.29
[k8s]쿠버네티스 워크로드, 네트워킹  (0) 2024.11.24
[k8s] 쿠버네티스 주요 컴포넌트 정리  (1) 2024.09.22