전체 글

전체 글

    [LitmusChaos] Developer Guide

    https://docs.litmuschaos.io/docs/developer-guide/chaoscenter-developer-guide백엔드 컴포넌트GraphQL 서버Authentication 서버MongoDB프론트 컴포넌트React 로컬 세팅 과정은 다음과 같다.1. mongodb 설치/세팅## mongodb 설치❯ docker pull mongo:5❯ docker network create mongo-cluster❯ docker run -d --net mongo-cluster -p 27015:27015 --name m1 mongo:5 mongod --replSet rs0 --port 27015❯ docker run -d --net mongo-cluster -p 27016:27016 --name m2..

    [보안][보안플랫폼] SOAR, SIEM, XDR 개념과 특징

    SOAR (Security Orchestration, Automation and Response)SOAR 란?보안 오케스트레이션, 자동화 및 대응을 통해 보안 팀은 사이버 공격 및 사고에 대한 조직의 대응을 표준화하고 간소화할 수 있다.보안운영센터(soc) 내부 및 외부의 워크플로우를 최적화하여 분석가들이 조직의 에코시스템 보안에 집중할 수 있도록 지원한다.오케스트레이션, 자동화, 콘솔 기능 등 대부분의 표준 SIEM에 부족한 보안 중심 기능을 추가하기 위해 탄생했다.Orchestration (오케스트레이션)다양한 보안 도구와 시스템 (예: SIEM, 방화벽, 이메일 보안 솔루션 등)을 통합하여, 이들이 서로 적보를 주고받고 협업할 수 있도록 한다.작업을 중앙 집중화하고 전파할 수 있도록 서로 다른 보안..

    [Kubernetes] Cilium

    Cilium 이란?cilium의 기반에는 ebpf라는 리눅스 커널 기술이 사용된다. ebpf는 보안/가시성/네트워킹 제어 로직을 커널에 동적으로 삽입할 수 있는 Linux 커널 기술이다.또한 cilium은 kube-proxy를 완전히 대체할 수 있다.  cilium은 iptables을 이용한 쿠버네티스 트래픽 라우팅의 단점을 보완하여 네트워크 성능을 높히고자 하는 목적을 갖고있다.iptables를 기반으로 IP/PORT 기반의 전통적인 포워딩 기술은 오랫동안 널리 사용되었고 퍼블릿/프라이빗 클라우드 제품군들 모두 iptables 기반의 Security Group등을 기본으로 제공하고 있고 쿠버네티스마저도 CNI 핵심으로 iptables를 활용하고 있다.하지만 동적으로 변화하고 복잡한 마이크로서비스를 사용..

    [kubernetes] Service (Headless Service, ExternalName), Endpoint

    Headless ServiceHeadless 서비스는 서비스를 이용한 로드밸런싱 기능이 지원되지 않는다. 서비스를 거치지 않고 파드에 직접 접근한다.서비스 생성 시 .spec.clusterIP 필드 값을 None으로 설정하면 클러스터 IP가 없는 서비스를 만들 수 있다.❯ cat headless-svc.yamlapiVersion: v1kind: Servicemetadata: name: my-headless-service namespace: service-testspec: clusterIP: None selector: app: my-app ports: - port: 80 targetPort: 80❯ kubectl get svcNAME TYPE ..

    [Kubernetes] ArgoCD

    개념Argo CD 란?Manifest(yaml) 파일의 변경 사항을 감시하며, 현재 배포된 환경의 상태와 Manifest(yaml) 파일에 정의된 상태를 동일하게 유지하는 역할을 수행한다.한마디로 Argo CD는 쿠버네티스를 위한 CD 툴이라고 할 수 있다.GitOps는 DevOps의 실천 방법 중 하나로 애플리케이션의 배포와 운영에 관련된 모든 요소들을 Git에서 관리한다는 뜻이다.컴포넌트❯ kubectl get deployNAME READY UP-TO-DATE AVAILABLE AGEargocd-applicationset-controller 1/1 1 1 65sargocd-dex-serve..

    kube-proxy, CNI, coreDNS

    kube-proxy"쿠버네티스 서비스/파드 IP들을 iptables로 관리해주는 친구"https://kubernetes.io/docs/reference/networking/virtual-ips/#proxy-modes서비스의 IP를 Pod IP로 변환해주는 역할모든 worker node에 하나씩 위치한다. (daemonset 형태)kube-proxy는 클러스터의 각 노드에서 실행되는 네트워크 프록시로, 쿠버네티스 서비스 개념의 일부를 구현한다.kube-proxy의 주요 작업은 패킷을 라우팅하지 않고 서비스를 호출할 때 패킷이 목적지에 도달할 수 있도록 구성하는 것이다.kube-proxy는 생성된 서비스에 대한 iptables 규칙을 생성한다.kube-proxy는 각 노드에서 실행되며 APIServer와 통..

    [쿠버네티스] 클러스터 구축

    설치 아키텍처master 1대worker 1대haproxy 1대multi master 구축에 대한 방향성을 위해 haproxy에 master를 연결하여 구성하였으나, 간단한 테스트를 위해 1개의 master를 두고 haproxy와 연결하였다.사전 작업hostname 설정- 노드별로 고유한 hostname을 가지고 있어야 한다방화벽 해제 or 방화벽 규칙 구성- https://v1-27.docs.kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/- 노드끼리 많은 통신을 통해 쿠버네티스가 정상 동작하기 때문에 적절하게 방화벽을 구성하거나 방화벽을 해제해야 정상적으로 클러스터 구축이 가능하다NTP 서버 동기화- 쿠버네티스..

    [네트워크] 허브 / 브릿지 / 스위치 / 라우터

    허브 같은 허브에 연결된 PC끼리는 서로 통신이 가능하다. 허브는 서로 연결하게되면 마치 1대의 허브처럼 동작이 가능하다. 허브 역시 랜카드처럼 이더넷용과 토큰링용이 있다. 이더넷 허브도 속도에 따라 그냥 허브와 패스트 허브가 있다. 허브는 네트워크에서 없으면 안되는 가장 기본이 되는 장비 중 하나이다. (물론 요즘은 스위치가 싸서 네트워크 장비에서 허브를 찾아보기 어렵게됐디만 배우는 단계에서 무시하면 안된다.) 랜카드, 케이블, 허브만 있으면 내부에서 허브에 접속된 모든 PC가 서로 통신이 가능하다. (물론 외부 인터넷은 못나간다.) 허브는 '멀티포트 리피터'라고 말할 수 있다. 멀티포트는 말 그대로 포트가 많이 붙어있다는 뜻이고, 리피터는 들어온 데이터를 그대로 재전송한다는 의미를 가지고 있다. 즉,..