728x90 분류 전체보기423 Jenkins · Argo CD · Keycloak · OpenLDAP로 Kubernetes SSO + RBAC 구성하기 [부록 실습] 가시다님께서 CI/CD 스터디 추가 실습 내용을 기반으로 작성했다.이번 글에서는 단일 kind 클러스터 위에 Jenkins, Argo CD, Keycloak, OpenLDAP를 올리고, OIDC와 LDAP을 활용해 SSO와 RBAC를 통합하는 과정을 단계별로 정리한다. 1. 기본 실습 환경 구성1-1. kind 클러스터 생성 (myk8s)# kind k8s 배포kind create cluster --name myk8s --image kindest/node:v1.32.8 --config - 1-2. Ingress-Nginx 배포# 노드 라벨 확인kubectl get node myk8s-control-plane -o jsonpath={.metadata.labels} | jq# ... "ingress-read.. 스터디(Study)/CI·CD Study 2025. 11. 22. 예제로 배우는 Argo CD 5장: Argo CD로 쿠버네티스 클러스터 부트스트랩 가시다님께서 진행하신 CI/CD 스터디 6주차 주제인 Argo CD를 활용한 멀티 클러스터 부트스트랩 실습 내용을 기반으로 작성하였다. 이번 글에서는 예제로 배우는 Argo CD 5장을 따라가며, 로컬 kind 환경에서 mgmt/dev/prd 클러스터를 구성하고, Argo CD·App of Apps 패턴·ApplicationSet을 활용해 멀티 클러스터 GitOps 부트스트랩 과정을 단계별로 정리한다.기술 요구 사항이번 장에서 사용하는 도구/환경은 아래와 같다.로컬 환경DockerkubectlkindHelmargocd CLI유틸리티jq, yqkrew + kubectl-neat (k neat)k9s (선택)openssl, curlGitGitHub (또는 개인 Git 서버)브라우저Argo CD UI 접속용※.. 스터디(Study)/CI·CD Study 2025. 11. 22. 웹 엔지니어가 알아야 할 인프라의 기본-1장 Chapter 1. 웹 서비스에서 인프라의 역할시스템 신뢰성(Reliability)과 보안(Security)은 인프라 설계에서 가장 중요한 축이다.단일 관점으로 접근하면 놓치는 요소가 생기기 때문에, 여러 모델을 함께 검토하며 확인하는 것이 도움이 된다.요소별 가동률을 단계적으로 보는 이유시스템 전체의 가용성을 평가할 때는 사용자 → 서버까지의 물리적 경로를 순서대로 추적하는 방식이 가장 누락이 적다.사용자의 단말기, 브라우저, 전파 환경, 이동통신사 네트워크, 데이터 센터의 회선, 라우터, 방화벽, 스위치, 서버, 디스크, 애플리케이션까지 일련의 흐름 중 어느 한 구간만 문제가 생겨도 서비스는 정상 동작하지 않는다.경로를 순차적으로 나열해보면 병목과 장애 지점을 체계적으로 확인할 수 있다.RASIS와 .. 독서(Reading) 2025. 11. 19. 예제로 배우는 Argo CD 4장: 접근 제어 접근 제어1·2장에서 GitOps와 Argo CD의 기본 원리를 살펴보고,3장에서는 고가용성과 실전 운영 전략을 다뤘다.이제부터는 “누가 Argo CD에 접근해서 무엇을 할 수 있는가?”를 다루는 접근 제어 챕터다.특히 다음 네 가지 축을 중심으로 정리해본다.선언적 사용자 관리 (admin, 로컬 계정)RBAC 정책서비스 어카운트 (CI/CD용 계정)SSO 및 Keycloak 연동접근 제어는 “보안”만의 이야기가 아니라, 운영상 안정성과 책임의 경계(블레임 라인)를 분리하는 핵심 요소다.1. 접근 제어 개요Argo CD의 접근 제어는 크게 이렇게 구성된다.구분역할로컬 사용자 / admin설치 직후 접근 가능한 계정, 최소 권한 운영용 로컬 계정RBAC 정책 (argocd-rbac-cm)사용자·그룹이 어떤.. 스터디(Study)/CI·CD Study 2025. 11. 15. DevOps 신뢰성 설계의 모든 것: SLO부터 MTTR까지 (via Datadog) 완벽한 시스템은 존재하지 않는다.좋은 DevOps는 장애를 피하려 하지 않고, 장애를 예측하고 학습하는 구조를 만든다.그래서 SLO, RTO 같은 지표는 단순한 숫자가 아니라,‘신뢰할 수 있는 시스템을 설계하는 철학’의 표현이다.1. SLO / SLA / SLI 개념과 설계 방법1) 기본 개념SLI (Service Level Indicator)서비스 품질을 수치로 표현하는 측정 지표다.예: 성공한 요청 수 / 전체 요청 수, 평균 응답 시간, 가용 시간 비율.SLO (Service Level Objective)SLI에 기반해 조직이 달성하고자 하는 목표치를 명시한다.예: “한 달 동안 API 성공률 99.9% 유지”.SLA (Service Level Agreement)서비스 제공자와 고객 간의 계약 수준.. 프로그래밍공부(Programming Study)/DevOps-Cloud Native 2025. 11. 9. 예제로 배우는 Argo CD 3장: Argo CD 운영 고가용성과 실전 운영 전략1·2장에서 GitOps의 개념과 Argo CD의 기본 원리를 다뤘다면, 이번 장에서는 실제 운영 환경에서 Argo CD를 안정적이고 효율적으로 운용하는 방법을 살펴본다.운영 환경에서는 단일 인스턴스로는 충분하지 않으며, 고가용성(HA) 구성, 모니터링, 자동 동기화 제어, 재해 복구(Disaster Recovery) 전략이 필수적이다.1. 고가용성(HA) 구성의 필요성Argo CD는 단일 Pod로도 실행 가능하지만, 프로덕션 환경에서는 장애 복원력 확보가 필수다.특히 Application Controller와 Repo Server는 지속적으로 Git과 클러스터를 비교하기 때문에, 단일 장애로도 배포 전체가 중단될 수 있다.HA 모드의 핵심 개념Controller / Repo-s.. 스터디(Study)/CI·CD Study 2025. 11. 8. 예제로 배우는 Argo CD 2장: Argo CD 시작하기 GitOps의 실질적 구현1장에서 GitOps의 개념을 이해했다면, 이제 그 철학을 실제로 구현할 수 있는 대표적인 도구인 Argo CD를 살펴볼 차례다.Argo CD는 깃 리포지터리에 정의된 애플리케이션 상태를 쿠버네티스 클러스터와 자동으로 동기화하는 GitOps 기반 CD(Continuous Delivery) 도구다.이번 장에서는 Argo CD의 구성 요소, 설치 및 초기 설정, 깃 리포지터리와 클러스터 연결 방법을 정리한다.1. Argo CD란 무엇인가1.1 개념 정리Argo CD는 쿠버네티스 환경에서 GitOps 원칙을 실제로 구현한 도구다.즉, 깃 리포지터리의 선언적 매니페스트를 읽어, 해당 리소스들이 클러스터에서 동일한 상태로 유지되도록 지속적으로 동기화한다.Argo CD는 명시적 배포 명령이.. 스터디(Study)/CI·CD Study 2025. 11. 8. 예제로 배우는 Argo CD 1장: 깃옵스와 쿠버네티스 선언적 운영의 시작쿠버네티스 환경에서 배포 자동화를 구축하려면 단순한 스크립트 실행 이상의 접근이 필요하다.GitOps는 그런 문제를 해결하기 위해 등장한, 선언적 구성 관리와 자동 동기화를 기반으로 하는 새로운 운영 방식이다.이번 장에서는 깃옵스의 개념, 쿠버네티스가 이를 자연스럽게 받아들일 수 있었던 이유, 그리고 kind 클러스터를 활용한 기본 실습까지 살펴본다.1. 깃옵스란 무엇인가?1.1 개념GitOps는 Git + Operations의 합성어로,모든 인프라와 애플리케이션 배포 상태를 Git 리포지터리에 선언적으로 저장하고,그 리포지터리를 “단일 진리의 원천(Source of Truth)”으로 삼아 시스템을 운영하는 접근 방식이다.2017년 Weaveworks의 Flux 개발팀이 처음 제시했으며.. 스터디(Study)/CI·CD Study 2025. 11. 8. 20251013 여박총피법을 읽고난 후 수많은 정보가 넘쳐나는 시대다. 그러나 모든 정보가 가치 있는 것은 아니다. 우리가 해야 할 일은 그 정보가 삶을 더 가치 있게 만드는가를 기준으로 판단하는 것이다. 삶을 가치 있게 한다는 것은, 매일의 행동과 선택 속에서 떳떳한 윤리를 분별하고 실천하는 과정에서 비로소 드러난다. 즉, 머리로 아는 것이 아니라, 마음으로 분별하고 몸으로 검증해야만 알 수 있다. 어떤 주제나 핵심 개념에 몰두했다면, 그 주제에 맞는 본질적인 문제를 스스로 도출해야 한다. 그리고 그 문제를 중심으로 자료를 탐색하며, 서로의 관계를 맞추고 연결해야 한다. 이때 중요한 것은 자료의 양이나 속도가 아니라, 자료와 내가 융화되는 깊이다. 꼼꼼히 정리하는 것보다 더 중요한 것은, 얻은 자료를 따져보고 헤아려 그 속에서 깨달음을 길어.. 독서(Reading)/다산선생의 지식경영법 2025. 11. 1. 로컬 환경에서 Jenkins + Gogs + Kind(K8s) 기반 CI/CD 파이프라인 구축하기 가시다님께서 진행하시는 ci/cd 스터디 3주차 주제인 jenkins와 argocd 실습 내용을 기반으로 작성하였다.이번 글에서는 로컬 환경에서 CI/CD 전체 파이프라인을 직접 구축하는 과정을 단계별로 기록했다.Kind(Kubernetes in Docker), Jenkins, Gogs(Git 서버), 그리고 DockerHub를 활용하며,DevOps 파이프라인을 실제로 자동화하는 과정을 실습 중심으로 다룬다. 1. CI/CD 개념 정리소프트웨어 개발 프로세스는 일반적으로 다음 단계를 자동화한다.최신 코드 가져오기단위 테스트 작성 및 실행코드 개발테스트 재실행코드 푸시 및 병합코드 병합 후 컴파일통합 테스트빌드된 아티팩트 배포E2E 테스트 실행 (예: Selenium)이 과정을 Jenkins 파이프라인으로.. 스터디(Study)/CI·CD Study 2025. 11. 1. GitOps Cookbook 8장: 고급 주제 8.0 들어가며GitOps의 기본 구조는 “Git 선언 → 자동 동기화 → 상태 유지”지만, 실제 운영환경에서는 보안, 멀티클러스터, 승인 흐름, 점진적 배포 등 복잡한 요구가 생긴다.이 장에서는 Argo CD를 중심으로 이런 고급 주제를 다룬다.8.1 민감한 데이터 암호화 (복원된 시크릿)GitOps의 핵심 원칙은 “모든 설정을 Git에 저장한다”지만, 문제는 시크릿(Secret)이다.비밀번호, 토큰, 인증서 등을 그대로 Git에 넣을 수는 없다. 이를 안전하게 관리하기 위해 다음 세 가지 접근법이 사용된다.Sealed Secrets (Bitnami)쿠버네티스 Secret을 암호화된 형태로 Git에 저장.Sealed Secrets Controller가 클러스터에서 자동 복호화.Git에는 복호화 불가능한.. 스터디(Study)/CI·CD Study 2025. 11. 1. GitOps Cookbook 7장: Argo CD 7.0 들어가며쿠버네티스에서의 배포(Delivery)는 이제 수동 kubectl apply나 “사람이 파이프라인 마지막 단계에서 승인 → 배포” 같은 절차형 모델에서 벗어나고 있다.대신, 원하는 상태(Desired State)를 Git에 선언하고, 클러스터가 그 선언을 지속적으로 따라가도록 자동으로 유지시키는 방식이 보편화되고 있다. 이 방식을 GitOps라고 부른다.Argo CD는 GitOps 기반 쿠버네티스 전용 CD(Continuous Delivery) 컨트롤러다.Git 리포지토리를 단일 진실 공급원(SSOT)으로 삼는다.Git에 선언된 상태(Desired State)와 실제 클러스터 상태(Live State)를 비교한다.차이가 있으면 OutOfSync로 감지하고, 필요하면 자동으로 클러스터를 Gi.. 스터디(Study)/CI·CD Study 2025. 11. 1. 이전 1 2 3 4 ··· 36 다음 728x90