Projected Service Account Token
배경 저희 팀은 중앙 집중식 데이터 관리 팀으로, Keycloak과 데이터 업로드 서비스를 포함한 핵심 인프라를 운영하고 있습니다. 각 서비스는 Kubernetes Pod로 운용되며 네임스페이스로 팀을 구분하고 있습니다. 기존 인증 흐름 기존의 서비스 간 인증 흐름은 아래와 같습니다. File Service 등 다른 팀의 서비스가 Keyc...
배경 저희 팀은 중앙 집중식 데이터 관리 팀으로, 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...
오프라인(폐쇄망) 환경에서 Kubespray를 사용해 Kubernetes 클러스터를 설치하려면, 설치에 필요한 바이너리/컨테이너 이미지/Python 패키지/RPM(deb) 패키지까지 사전에 모두 다운로드해 내부에 제공할 수 있어야 한다. 이번 단계에서는 kubespray-offline 오픈소스 스크립트를 활용해 이 모든 패키지를 원클릭으로 다운로드하...
리눅스 / 파이썬 패키지 및 이미지 저장소 구성 오프라인(폐쇄망) 환경에서 Kubespray를 사용해 Kubernetes 클러스터를 설치하려면 크게 3가지 요소가 내부망에 준비되어야 한다. OS 패키지 (YUM/DNF) kubeadm, kubelet, kubectl 및 필수 시스템 유틸리티 컨테이너 이미지...