전체 글118 [Network] LDAP(Lightweight Directory Access Protocol) LDAP : LDAP(Lightweight Directory Access Protocol)은 TCP/IP 상에서 운용되는, 디렉터리 서비스에 액세스하여 자원을 조회하고 수정하기 위한 응용 프로토콜이며, 이름에서 볼 수 있는 것처럼 네트워크 상의 디렉터리 서비스 표준인 X.500의 DAP(Directory Access Protocol)의 경량화 버전이다. LDAP의 적절한 예시로 [전화번호부]가 있다.- 2000년도 초반까지는 개인 신상 정보가 일부 기록된 [전화번호부]가 존재했다. 옛 전화번호부에는 [ㄱㄴㄷ...] 순의 일련의 단어(이름)로 구성되어 있고, 이름마다 각 개인의 "전화번호"와 "주소"와 같은 개인 정보가 기입되어 있다. 즉, "홍길동"이라는 디렉토리 안에 개인의 특성을 가지는 "전화.. 2025. 2. 7. [Jenkins] Jenkins Pipeline내 UUID 생성 CI/CD에 많이 사용되는 Jenkins는 Java로 개발되어 있어서 내장된 라이브러리를 파이프라인에서 활용이 가능하다. 이를 활용하여 Pipeline을 만들 때, Docker Image Tag와 같은 ID값에 사용할 수 있는, UUID를 생성하여 사용하는 방법을 알아볼 것이다. Pipeline 생성 test란 이름의 pipeline을 먼저 생성한다. Pipeline 내용 기입 pipeline { environment { NEW_UUID = UUID.randomUUID().toString() } agent any stages { stage('UUID TEST') { steps { sh 'echo $N.. 2025. 1. 13. [Algorithm] 다익스트라(Dijkstra) 알고리즘 다익스트라 알고리즘 다익스트라 알고리즘은 1959년 네덜란드의 컴퓨터 과학자 에츠허르 다익스트라가 개발한 최단 경로 탐색 알고리즘이다. 이 알고리즘은 그래프에서 한 정점에서 다른 모든 정점까지의 최단 거리를 구하는 데 사용되며, 실 생활에 사용되는 예시로는 최단 거리 알고리즘답게 내비게이션 시스템, 네트워크 라우팅 등과 같은 곳에 사용된다. 위 예제는 1번 노드(a)에서 5번 노드(b)로 가는 최단 거리를 구하는 과정을 나타낸 것이다. 기준이 되는 노드에서 방문하지 않은 각 노드 간의 거리를 계산하고, 이를 통하여 가장 낮은 거리로 계산되는 각 노도의 경로를 모두 계산하게 되는 것이다. 예제 아래는 heapq를 활용하여, 위의 예제를 다익스트라 알고리즘을 코드로 구현한 것이다. import hea.. 2024. 11. 27. [Terraform] Terraform이란 Terraform과 Iac 최근의 Infra Engineer나 Devops Engineer 직무를 보면 하나같이 필요로 하는 기술 스택이 존재한다. 바로 Iac(Infrastructure as code)이다. 과거에는 서버를 구매해서 OS를 설치하고 내부 환경을 세팅하는 등의 수작업을 일일이 했다면, 현재는 다르다. Private Cloud와 Public Cloud를 막론하고 Iac를 활용하여 코드기반의 관리를 하는 경우가 많다. 회사의 규모가 일정 수준 이상이 된다면, 수십 수백 대 이상의 서버를 관리하는 상황이 비일비재하기 때문에, 이를 하나하나 관리해 준다면 관리에 필요한 인력과 비용이 상당히 커질 것이다. 하지만 코드로 관리를 하면서 현재 서버의 상태에 대한 명세를 코드로 쉽게 확인하.. 2024. 11. 26. [OTEL] OpenTelemetry의 Java Agent에서 FRAME_SIZE_ERROR 발생 문제 발생 쿠버네티스 클러스터에 OTel 오퍼레이터를 설치하고, Collector와 Java Agent를 구축하는 과정에서 발생한 에러이다. https://opentelemetry.io/docs/kubernetes/operator/automatic/ Injecting Auto-instrumentationAn implementation of auto-instrumentation using the OpenTelemetry Operator.opentelemetry.io 위 OpenTelemetry 레퍼런스를 참고하여 진행했었고, Operator를 설치 후 CRD를 활용하여 Collector를 설치하였다. 이후 Spring Boot 애플리케이션에 Annotation을 이용해서 Java Agent.. 2024. 11. 25. [Kubernetes] 한 노드에 동일한 파드 스케줄링 제한 개요 쿠버네티스 클러스터 환경에서 운영을 할 때에는, 생각하지 못한 다양한 상황을 많이 접할 수 있다. 그중 하나는 Deployments의 파드가 재 스케줄될 때, 상황에 따라 하나의 노드에 같은 파드가 두 개 이상 스케줄될 수 있다는 것이다. 이것이 문제가 되는 이유는 Deployments의 Replicas가 2인 경우 하나의 노드에 이 파드가 2개가 생성된다면, 단일 장애 지점(SPOF)이 되어버린다는 것이다. 가용성을 위하여 파드를 2개로 설정을 했음에도, 노드에 장애가 발생하면 가용성을 보장받지 못하는 상황이 되어버린다는 것이다. 물론 쿠버네티스에는, 이를 방지하기 위한 설정이 존재한다. 이제 해당 옵션을 알아볼 것이다. 아래는 replicas가 2인 nginx라는 deployment의 .. 2024. 11. 24. 이전 1 2 3 4 ··· 20 다음