반응형

전체 글 311

Dockerfile 보안 설정(Hadolint)

Overview오늘은 Dockerfile을 작성할 때 반드시 고려해야 할 보안 설정과 모범 사례, 그리고 이를 검증하는 도구인 Hadolint에 대해 알아본다.Docker는 가볍고 유연한 컨테이너 환경을 제공하지만, 잘못된 Dockerfile 작성은 보안 취약점을 유발할 수 있다.공식 이미지 사용, 불필요한 패키지 제거, 루트 사용자 대신 일반 사용자로 실행하기, 이미지 캐시 정리 등은 모두 안전한 컨테이너 환경을 위한 필수 체크포인트이다. 또한 Hadolint와 같은 Linter 도구를 활용하면, 사소한 실수나 보안 상의 허점을 사전에 점검하고 개선할 수 있다.실제 예제 기반으로, 보안에 취약한 Dockerfile을 Hadolint로 분석하고, 그 결과를 바탕으로 보안 강화된 버전으로 리팩토링해보자. ..

IaC/Container 2024.02.25

[CS 지식11.] NAT(Network Address Translation)란?

Overview인터넷 환경에서 모든 장치가 고유한 공인 IP를 가지는 것은 현실적으로 불가능하다.그 해결책이 바로 NAT(Network Address Translation)이다.  NAT는 사설 네트워크와 외부 인터넷 간의 주소를 변환하여 IP 주소 자원 절약, 보안성 강화, 유연한 통신 환경을 제공하는 핵심 기술이다. 이번 글에서는 NAT의 개념과 더불어 SNAT, DNAT, PAT 등 다양한 유형들을 실제 시나리오와 함께 설명하며, 네트워크 흐름 속 NAT의 동작 원리를 쉽게 이해할 수 있도록 정리한다.       📅 관련 글2023.01.13 - [CS 지식] - [CS 지식1.] 웹 브라우저의 동작원리2023.02.23 - [CS 지식] - [CS 지식2.] DNS의 동작원리(Domain Nam..

CS 지식 2024.02.21

Rook-Ceph란?

Overview이번 글에서는 Rook-Ceph를 사용하여 Kubernetes 클러스터에서 Ceph 스토리지를 배포 및 운영하는 전체 과정을 다루었다.Rook은 Kubernetes 네이티브 방식으로 Ceph를 관리할 수 있는 오픈소스 오케스트레이션 툴로, 복잡한 분산 스토리지 시스템을 Kubernetes 리소스로 추상화하여 쉽게 설치하고 운영할 수 있도록 도와준다. 이번 구성에서는 Google Cloud VM 환경에서 Kubespray로 Kubernetes 클러스터를 구축한 뒤, Rook Operator 및 Rook-Ceph 클러스터를 Helm Chart 기반으로 설치하였다. Ceph OSD를 위해 별도의 스토리지 노드를 구성하고, Rook의 values.yaml을 적절히 커스터마이징하여 MON/MGR/O..

Kubernetes Network

Overview이번 글에서는 Kubernetes에서의 네트워크 트래픽 흐름과 각 컴포넌트 간 통신 구조에 대해 정리해보았다. Kubernetes는 컨테이너 오케스트레이션 플랫폼인 만큼 Pod, Service, Ingress 등 다양한 컴포넌트가 네트워크를 통해 상호작용한다. 이 구조는 클러스터 내부뿐 아니라 외부 트래픽과의 연결에서도 중요한 역할을 하며, CSP(클라우드 환경)과 온프레미스 환경에서의 동작 방식에 따라 설정과 구성 방식이 달라진다.  이번 정리에서는 다음과 같은 내용을 다루었다.클라우드 환경(CSP) vs 온프레미스 환경에서의 트래픽 흐름 차이Ingress Controller, LoadBalancer Controller 간의 관계MetalLB를 통한 온프레미스 LoadBalancer 구현..

Istio 설치 및 실습

Overview이번 글에서는 Istio를 Kubernetes 클러스터에 설치하고, Bookinfo 샘플 애플리케이션을 통해 실습하는 과정을 정리했다.Istio는 서비스 메쉬 프레임워크로, 트래픽 제어, 보안, 관측(Observability) 기능을 제공하여 마이크로서비스 아키텍처를 효과적으로 운영할 수 있도록 도와준다. 설치 과정에서는 istioctl을 사용하여 Istio를 demo 프로파일로 설치하였고, 이후 Envoy 사이드카 자동 주입을 위한 네임스페이스 라벨 설정, Bookinfo 애플리케이션 배포, Istio Gateway 및 VirtualService 구성 등을 단계별로 실습했다. 또한, GCP 환경에서 Istio Ingress Gateway를 NodePort 방식으로 노출하고, Kiali, ..

IaC/Service Mesh 2024.02.13

Argo Workflow란?

Overview이번 포스팅에서는 Kubernetes 기반의 경량 CI/CD 워크플로우 오케스트레이터인 Argo Workflow에 대해 소개하고, 실습을 통해 직접 구성해보는 과정을 다뤘다.Argo Workflow는 복잡한 배포 프로세스나 데이터 파이프라인을 YAML 기반 선언형 워크플로로 설계할 수 있으며, 각 단계를 Kubernetes Job/POD로 실행하여 완전한 컨테이너 기반 파이프라인을 구성할 수 있는 것이 가장 큰 특징이다.  해당 실습에서는 다음과 같은 내용을 직접 다뤄보았다.Kind 클러스터 위에 Argo Workflow 설치 및 포트 포워딩 구성서버 인증 모드 설정 및 UI 접근 테스트Argo CLI 설치 및 기본 워크플로 실행다양한 Workflow 실행 방식 실습 (Parameters,..

IaC/CI CD Tool 2024.02.09

Cilium이란?

Overview이번 글에서는 Cilium의 개념부터 설치, 구성, 관측, 정책 적용, 그리고 네트워크 트래픽 흐름 분석까지 전반적인 실습을 통해 알아보았다. Cilium은 eBPF(Extended Berkeley Packet Filter) 기술을 기반으로 하여, 기존 iptables 기반 CNI보다 더 높은 성능과 보안, 그리고 정교한 관찰 가능성(Observability)을 제공하는 쿠버네티스 네트워크 및 보안 솔루션이다. Cilium은 단순한 CNI 플러그인을 넘어, 다음과 같은 핵심 기능들을 제공한다.고성능 네트워크 정책 제어L7 (HTTP/gRPC) 기반 정책 지원Hubble을 통한 실시간 트래픽 관찰 및 시각화Sidecar 없는 쿠버네티스 서비스 메시 구현쿠버네티스와의 완벽한 통합 이번 실습..

Kubernetes 클러스터 구축하기(kubespray 2024v.)

Overview이번 포스팅에서는 Kubespray를 이용해 Kubernetes 클러스터를 자동으로 설치하고 구성하는 방법을 알아보고, 나아가 Worker Node를 추가하여 확장하는 실습까지 진행해보았다. Kubespray는 Ansible 기반의 프로비저닝 도구로, YAML 기반 인벤토리 파일만 정의하면 다양한 환경(GCP, AWS, 온프렘 등)에서 HA 구성을 포함한 쿠버네티스 클러스터를 유연하게 설치할 수 있는 강력한 툴이다.  이번 실습에서는 다음의 내용을 중심으로 진행하였다.GCP 기반 Control/Worker Node VM 구성 (Terraform)Kubespray 설치 및 Ansible 가상환경 구성클러스터 인벤토리 정의 및 Helm, MetalLB, Ingress 설정 포함Ansible 플..

Vault 설치와 사용법

Overview오늘은 HashiCorp Vault를 Kubernetes(k8s) 환경에서 설치 및 운영하는 방법에 대해 알아보겠다. Vault는 보안 및 인증 정보를 안전하게 저장하고 관리하는 솔루션으로, Kubernetes 환경에서의 동적 비밀 관리, 인증 설정 및 Secret 자동 주입 기능 등을 제공한다.이번 과정에서는 kind(Kubernetes in Docker)를 이용한 클러스터 구성부터, Helm을 활용한 Vault 설치 및 초기화, Kubernetes 인증 설정 및 Secret 관리 방법을 다뤄볼 예정이다.    주요 내용Kind를 이용한 Kubernetes 클러스터 생성Vault 초기화 및 HA 클러스터 설정Vault Helm Chart를 이용한 배포 및 관리Vault Secret 엔진 ..

Terraform 으로 GCS 생성후 Cloud CDN 생성(GCP)

Overview 이번 글에서는 Terraform을 활용하여 Google Cloud Storage(GCS)를 생성하고, Cloud CDN을 구성하는 방법에 대해 다룬다.GCS는 정적 웹사이트 호스팅을 지원하며, Cloud CDN을 통해 글로벌 캐싱을 활용하면 빠르고 효율적인 콘텐츠 제공이 가능하다.  이를 위해 아래의 주요 작업을 수행한다.도메인 설정: DNS Zone 생성 및 네임서버 등록소유권 인증: Google Search Console을 활용한 도메인 소유권 인증GCS 버킷 생성: 웹사이트 정적 파일을 저장할 버킷 설정CDN 구성: HTTPS 트래픽을 지원하는 Cloud CDN을 설정하여 성능과 보안을 최적화SSL 인증서 설정: 자동화된 SSL 인증서를 적용하여 HTTPS 지원  Terraform을..

GCP 2024.01.22
반응형