Test
제2장 환경구성 Notiflex라는 B2B 알림 SaaS플랫폼을 만든다. 고객사 시스템에서 이벤트가 발생하면 이메일, SMS 그리고 웹훅으로 알림을 보내주는 서비스이다. 혼자서 시작하는 스타트업이라 빠르게 첫 버전을 올려야한다. 2.1 GCP 계정 생성과 무료 크레딧 활용전략 GCP 신규계정에게 제공하는 $300 무료 크레딧(90일)을 사용하여 ...
제2장 환경구성 Notiflex라는 B2B 알림 SaaS플랫폼을 만든다. 고객사 시스템에서 이벤트가 발생하면 이메일, SMS 그리고 웹훅으로 알림을 보내주는 서비스이다. 혼자서 시작하는 스타트업이라 빠르게 첫 버전을 올려야한다. 2.1 GCP 계정 생성과 무료 크레딧 활용전략 GCP 신규계정에게 제공하는 $300 무료 크레딧(90일)을 사용하여 ...
시대의 변화 DevOps 문화의 확산 “만든 사람이 운영한다(You build it, you run it)”는 원래 아마존 CTO 베르너 포겔스가 언급하며 널리 퍼진 원칙이다. 핵심은 책임의 분리를 없애는 것에 있다. 예전에는 개발팀이 코드를 “던지면(throw over the wall)” 운영팀이 받아서 배포하고 장애를 처리했다. 이 구조에서는 개...
배경 저희 팀은 중앙 집중식 데이터 관리 팀으로, Keycloak과 데이터 업로드 서비스를 포함한 핵심 인프라를 운영하고 있습니다. 각 서비스는 Kubernetes Pod로 운용되며 네임스페이스로 팀을 구분하고 있습니다. 기존 인증 흐름 기존의 서비스 간 인증 흐름은 아래와 같습니다. File Service 등 다른 팀의 서비스가 Keyc...
CIS 강화 가이드 RKE2는 기본적으로 강화된 보안 기능을 갖도록 설계되어 있으며, 수정 없이 대부분의 Kubernetes CIS 제어 테스트를 통과한다. 하지만 몇 가지 주목할 만한 예외 사항이 있으며, 이러한 경우에는 CIS 벤치마크를 완벽하게 통과하기 위해 수동 개입이 필요하다. RKE2는 호스트 운영 체제를 수정하지 않는다. 따라서 ...
ETCD 백업 및 복구 가이드 RKE2는 하드웨어 장애로 데이터가 유실되는 것을 대비해 강력하고 유연한 etcd 스냅샷 기능을 내장하고있다. 이번 과제에서는 로컬 저장소는 물론 S3 클라우드 저장소까지 지원하는 RKE2의 백업/복구 메커니즘을 정리한다. 1. 백업(Snapshot) 만들기 RKE2는 etcd 상태를 스냅샷 파일로 저장한다. ...
RKE2 인증서 갱신 및 버전 업그레이드 인증서 관리 및 수동 갱신 RKE2 클라이언트 및 서버 인증서는 발급일로부터 365일 동안 유효하다. 만료되었거나 만료 예정일로부터 120일 이내인 인증서는 RKE2가 시작될 때마다 자동으로 갱신된다. 이 갱신 과정에서 기존 키가 재사용되어 기존 인증서의 유효 기간이 연장된다. 기존 인증서의...
실습환경 배포 Vagrantfile : Rocky Linux 9 # Base Image https://portal.cloud.hashicorp.com/vagrant/discover/bento/rockylinux-9 BOX_IMAGE = "bento/rockylinux-9" # "bento/rockylinux-10.0" BOX_VERSION...
RKE2 개요 및 아키텍처 RKE2 란 무엇인가? KE2 (Rancher Kubernetes Engine 2) 는 SUSE (이전 Rancher Labs) 가 제공하는 엔터프라이즈급 보안 중심 Kubernetes 배포판이다. 공식 명칭은 RKE2: The Next-Generation Kubernetes Distribution이며 아래와 같은 환경에...
폐쇄망(Air-gapped) 환경에서 Kubespray를 성공적으로 배포하기 위한 가장 핵심적인 파일이 바로 offline.yml이다. Kubespray는 기본적으로 수십 개의 바이너리와 수백 개의 컨테이너 이미지를 인터넷(GitHub, GCR, Quay, DockerHub 등)에서 다운로드하도록 설계되어 있다. offline.yml의 역할은 이러한...
이전 단계에서 폐쇄망 환경을 위한 모든 에셋(OS 패키지, 컨테이너 이미지, PyPI)을 outputs/ 디렉터리에 다운로드하고 로컬 Nginx와 Registry를 통해 서빙할 준비를 마쳤다. 이제 본격적으로 격리된 파이썬 가상환경(venv)에 진입하여 Ansible 플레이북을 조작하고, 실제 타겟 노드(k8s-node1, k8s-node2)에 Ku...