전체 글 45

Audit Log Policy

Audit Log 요약 쿠버네티스에서 누가, 언제, 무엇을, 어떻게 활동했는지 감사(audit)하고 파일로 저장하는 기능 정책 파일에 rules 를 정의하여 어떤 로그를 생성할 지 필터링을 걸 수 잇다. Audit Logging기능을 활성화하려면, 정책 파일을 정의하고, 외부 저장소에 백엔드를 정의해야 한다. Audit Log 만드는 법 이하 내용은 공식 문서의 '이벤트를 파일 시스템에 기록하는 로그 백엔드'항목을 정리한 것이다. https://kubernetes.io/docs/tasks/debug/debug-cluster/audit/#log-backend 1단계: Audit Policy 정의하기 Audit Policy의 rules 필드는 필수로 지정되어야 한다. vi /etc/kubern..

Kubernetes 2023.06.08

securityContext

securityContext 요약 SecurityContext는 Pod와 Container를 위해 보안 설정을 정의하는 항목이다. securityContext 항목 Discretionary Access Control: UID, GID를 기반으로 파일에 접근 권한을 가지는 사용자(runAsUser) 그룹(fsGroup)을 설정할 수 있다. Linux Capabilities: Root 사용자에게 모든 권한을 부여하는 대신, 프로세스에 일부 권한을 부여한다. readOnlyRootFilesystem: 컨테이너의 루트 파일 시스템을 읽기 전용으로 마운트한다. allowPrivilegeEscalation: 프로세스가 상위 프로세스보다 더 많은 권한을 얻을 수 있는지 여부를 제어한다. 그 외 securityCont..

Kubernetes 2023.06.06

Job

"Job 리소스는 일반 Pod처럼 항상 실행되고 있는 서비스 프로세스가 아닌 한번 실행되고 완료가 되는 일괄처리 프로세스용으로 만들어졌습니다." - 책 194p Deployemt처럼 Pod를 생성해서 원하는 작업을 수행하는 건 같으나, 작업이 끝나면 Job은 Completions로 Pod는 Status 가 Completed로 남는다. Deployment Job 공통점 Pod를 생성하여 원하는 작업을 수행한다 목적 Running한 상태의 Pod 개수를 유지하는 것 작업 후 Pod가 종료되는 것 initContainer가 Pod 단위로 기동 단계 초반에 1회성 작업을 한다면, Job은 워크로드 중간에 1회성으로 batch 작업을 한다. Job의 restartPolicy는 Never 혹은 OnFailure 만..

Kubernetes 2023.06.04

initContainers

initContainers(초기화 컨테이너)란? 시작할 때만 Pod에 도움 주고 빠지는 컨테이너다. 식물로 치면 식물이 잘 자랄 수 있도록 도와주는 흙 역할을 한다. initContainers장점 - 최소한의 리소스로 잘 돌아가는 애플리케이션을 설계할 수 있다. - 예를 들어 initContainers에서 미리 git 레파지토리를 git pull 로 받아두면, 메인 컨테이너에서는 git 레파지토리가 이미 있다는 전제 하에 로직을 진행할 수 있다. initContainers특징 - initContainers는 항상 완료(Completed)를 목표로 실행된다. - 하나의 파드에 initContainers가 여러개 있을 경우 - kubelet은 각 initContainers를 한번에 하나씩 실행한다. - 하나..

Kubernetes 2023.05.24

CronJob

CronJob 요약 CronJob은 batch성 Job을 특정 주기를 지정하여 실행할 수 있다. CronJob은 주로 백업, 리포트 생성 등의 정기적 작업을 수행하기 위해 사용된다. CronJob은 크론 스케쥴 문법을 따른다. CronJob의 JobTemplate는 Job과 동일하다 그림으로 보는 CronJob manifest CronJob의 manifest파일 구조 CronJob의 Job template은 Job과 동일하다 CronJob 특징 .spec.schedule (크론 스케줄) CronJob은 크론 스케쥴 문법을 따른다. .spec.startingDeadlineSeconds (시작 기한) 원래 CronJob이 실행해야 하는 시각으로부터 '시작 기한'(초단위)까지는 봐준다는 뜻이다. 예시 : 매시..

Kubernetes 2023.05.24