안녕하세요.
사람에 가치를 두는|
개발자 최민석입니다.

thumbnail
Devops
K8S
April 23, 2025
Workflow 관리(쿠버네티스 스터디 8주차)

Chap 17. Workflow 관리 Argo workflow 쿠버네티스 core API에는 일회성 배치 작업을 수행하는 Job 리소스가 존재한다. 간단한 retry정책이나 parallel 실행이 가능하지만 작업간 종속성 부여, 조건부 실행, 에러 핸들링 등 고급 워크플로우 관리 기능은 부재한다. 이를 해결하고자 Argo Project에서 Argo workflow를 개발했다. Argo workflow는 쿠버네티스 워크플로우 엔진으로 CNCF의 incubating 프로젝트로 등록되어 있다. 사용자가 원하는 Workflow를 직접 구성할 수 있으며 작업간 종속성을 만들어 순차적으로 실행할 수 있다. 또한 병렬실행이나 에러 핸들링 등과 같은 고급 워크플로우 관리 기능과 사용자를 위한 웹 UI도 제공한다. 사용자는 쿠버네티스 내장 리소스처럼 워크플로우를 생성, 삭제 및 관리할 수 있다. 동작 방법 Argo workflow도 다른 Operator와 마찬가지로 사용자 정의 리소스에 따라 사…

Devops
K8S
April 22, 2025
사용자 정의 리소스(쿠버네티스 스터디 8주차)

Chap 16. 사용자 정의 리소스 사용자 정의 리소스란? Custom Resource 사용자 정의 리소스는 쿠버네티스 API를 사용자가 원하는대로 확장한 리소스를 말한다. 예를 들어, 쿠버네티스 코어 API에 Pod라는 리소스가 있지만 사용자가 원하는 특별한 기능을 더한 MyPod라는 리소스를 새롭게 정의할 수 있다. 쿠버네티스에는 사용자가 쉽게 API를 확장할 수 있도록 CustomResourceDefinition(CRD)라는 리소스를 제공한다. CRD는 바로 새로운 리소스를 정의하는 리소스이다. kind: CustomResourceDefinition — 이 리소스가 CRD임을 나타냄. 쿠버네티스에서 새로운 리소스 타입을 정의할 때 사용함. name: mypods.crd.example.com — CRD의 전체 이름. . 형식을 따르며, 이 이름으로 API 서버에 등록됨. group: crd.example.com — 해당 CRD가 속한 API 그룹. 커스텀 리소스는 코어 그룹이…

Devops
K8S
April 14, 2025
로깅과 모니터링(쿠버네티스 스터디 7주차)

Chap 14. 로킹과 모니터링 쿠버네티스는 기본적으로 내장하고 있는 로깅 및 모니터링 시스템이 없다. 대신 그 기능을 Cloud Native 생태계에 맡겼다. 이번 장에서는 로킹은 EFK 스택을 이용하여, 모니터링은 Prometheus, Grafana를 이용하여 시스템을 구축해보자. 로깅 시스템 구축 클러스터 레벨 로깅의 장점 kubectl logs 명령어를 사용하면 컨테이너의 로그를 바로 확인할 수 있다. 그렇다면 왜 따로 클러스터 레벨의 로깅 시스템이 필요할까? 로그 히스토리 저장 pod가 실행 중인 경우에는 kubectl logs 를 통해 로그 메시지를 확인할 수 있지만 Pod가 죽게 되거나 1회성 배치 작업인 경우, Pod가 사라지게 되어 로그 기록도 같이 삭제된다. 클러스터 레벨의 로깅 시스템을 따로 구축하여 로그 기록을 저장하면 언제든지 과거의 로그 기록들을 확인할 수 있다. 시스템 컴포넌트 로그 통합 쿠버네티스에는 컨테이너뿐만 아니라, kubelet 등과 같은 쿠버…

Devops
K8S
April 09, 2025
접근 제어(쿠버네티스 스터디 6주차)

Chap 13. 접근 제어 쿠버네티스에서는 사용자의 인증/인가를 통해 아래 3단계를 통과해야 시스템에 접근할 수 있다.. Authentication(인증): 접속한 사람의 신분을 인증하는 단계(누가 접근하는가). Authorization(인가): 어떤 권한을 가지고 어떤 자원에 어떤 행동을 할 수 있는지 확인하는 단계. Admission Control: 요청한 내용이 적절한지 확인하는 단계이다 LimitRange, ResourceQuota 기능이 Admission Control을 통해 Pod 요청이 적절한지 확인한 예시이다. 사용자 인증 쿠버네티스에는 크게 5가지 사용자 인증 방식이 존재한다. HTTP Authentication: 토큰, 베이직 인증 사용 X.509 Certificate: 인증서 기반 사용자 인증 OpenID Connect: OAuth 기반 외부 인증 Webhook 인증: 외부 서버에 인증 위임 Proxy 인증: 프록시 서버가 인증 수행 HTTP Basic Aut…