1. 개념 영속성을 보장할 수 없는 파드에 데이터를 저장할 경우 언제든 데이터가 사라질 가능성 존재 따라서 파드의 생명주기와 무관하게 저장이 유지되는 데이터 저장소가 필요한데 이런 요구사항을 만족하기 위한 개념이 PV(PersistentVolume)와 PVC(PersistentVolumeClaim) PV : 데이터를 저장할 볼륨. 볼륨을 생성하고 이를 클러스터에 등록한 것 PVC : 필요한 저장 공간·RW모드 등 요청사항을 기술한 명세로서 PV에 전달하는 요청. PV와 바인딩을 하는 목적으로 사용 2. PV 생성 demo-pv라는 PV 생성 apiVersion: v1 kind: PersistentVolume metadata: name: demo-pv spec: capacity: storage: 100Mi..
1. 개념 쿠버네티스에서 각 파드는 기본적으로 서로간에 모든 통신이 가능한 상태 때문에 DB처럼 보안적으로 중요한 파드에 대해 접근을 제어하기 위하여 NetworkPolicy 서비스 활용 파드 생성 시 labels에 명시한 key : value를 기준으로 NetworkPolicy 적용 2. NetworkPolicy 상황별 설정 NetworkPolicy를 설정하지 않은 경우 모든 파드에서 DB로 접근 가능 특정 파드에서만 접근을 허용하고자 하는 경우 apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: db-policy namespace: prod spec: podSelector: matchLabels: role: db policyTyp..
1. 개념 쿠버네티스는 컨테이너 실행 시 기본으로 root 권한으로 실행 root 권한에서의 컨테이너 실행을 방지하기 위해 파드 또는 컨테이너 단위로 실행시킬 PID를 지정 2. SecurityContext 적용 비교 SecurityContext를 적용하지 않은 경우(root로 실행) apiVersion: v1 kind: Pod metadata: name: security-context-demo-1 spec: containers: - name: sec-ctx-demo image: busybox:1.28 command: [ "sh", "-c", "sleep 1h" ] PID 확인 SecurityContext를 파드 단위로 적용한 경우(PID 1000으로 실행) apiVersion: v1 kind: Pod ..