Envoy란 ? Envoy란 Istio에 사용되는 proxy이다. Envoy Proxy는 Lyft 사에서 개발되었으며 오픈소스로 공개되었다. 기존 프록시 L4 기능뿐만 아니라 L7 기능도 지원하면서 HTTP 뿐만 아니라 다양한 프로토콜을 지원한다. 주요 기능적인 특성 HTTP, HTTP2.0, TCP, gRPC 프로토콜을 지원 TLS client certification 지원 HTTP L7 라우팅 지원을 통한 URL 기반 라우팅, 버퍼링, 서버간 부하 분산량 조절등 Auto retry, circuit breaker, 부하량 제한등 다양한 로드밸런싱 기능 제공 다양한 통계 추적 기능 제공 및 Zipkin 통합을 통한 MSA 서비스간의 분산 트렌젝션 성능 측정 제공함으로써 서비스에 대한 다양한 가시성 (vi..
K8s에서 LDAP을 이용해 접근 제어 관리를 하기 위해 사용하는 항목들을 정리해본다. LDAP_BIND_DN LDAP 클라이언트가 서버에 연결한 후 인증하기 위해 사용되는 Distinguished Name(DN)이다. DN은 LDAP 디렉터리 트리 내에서 고유한 엔트리(항목)을 식별하는 방법 중 하나이다. 일반적으로 사용자 또는 응용 프로그램이 디렉터리 서비스에 대한 액세스를 허용하도록 인증할 때 사용된다. 클라이언트가 서버에 연결하고 특정 DN을 사용하여 인증을 수행할 수 있다. 이 DN은 LDAP 서버에 등록된 사용자 또는 서비스 계정을 나타내며, 일반적으로 다음과 같은 형식을 가진다. CN=John Smith,OU=Users,DC=example,DC=com 위의 DN 예제에서는 "CN"은 Comm..
명령어 설명 docker --version 도커 설치 확인 및 버전 출력 docker container list 실행 중인 컨테이너 목록 출력 docker ps 실행 중이거나 중지된 모든 컨테이너 목록 표시 docker image list 로컬 이미지 목록을 표시 docker build -t --file 현재 디렉토리를 기준으로 docker-file 경로에 따라 관련 파일로 이미지를 생성한다. -t 인수는 이미지에 태그를 지정할 수 있다. docker run -d -p : 이미지로부터 컨테이너 인스턴스를 생성한다. 이미지가 로컬에 없다면, 레지스트리 URL을 태그로 지정한 경우 원격 레지스트리에서 가져온다. 분리 모드는 컨테이너를 실행하는 -d 인수를 사용해 컨테이너가 터미널 창에 제한되지 않도록 하지만..
고객의 요구가 증가하면 소프트웨어 기능도 마찬가지로 커지면서 동시에 내결함성과 최대 사용량을 감당할 수 있는 확장성도 가져야 한다. 마이크로서비스는 오늘날의 소프트웨어 개발 과정에서 중요한 역할을 담당하고 있는 설계 유형이다. MicroService ? MicroService의 정의는 다음과 같이 할 수 있다. 마이크로서비스는 개별적으로 배포 일정을 갖고 업데이트 운영이 가능한 작고 독립적인 소프트웨어 프로세스다. MicroService App이란 ? MicroService 앱은 기존에 알고 있던 분산 애플리케이션이며, 격리된 프로세스와 네트워크 통신을 하는 작은 구성 요소로 이루어진 시스템을 말한다. 각각의 서비스나 구성 요소는 논리적으로 또는 가상으로 구분된 컴퓨터에 위치하지만 가끔은 물리적인 컴퓨터..
쿠버네티스 클러스터의 컴포넌트 마스터 컴포넌트 etcd 쿠버네티스 클러스터 구성을 유지하는 분산 KVS. 데이터를 Key-Value형으로 관리한다. 어떤 파드를 어떻게 배치할지와 같은 정보를 갖고 있어서 API Server가 이를 참조한다. 매니페스트의 내용이 저장되어 있다고 생각하면 좋을 것이다. 분산 시스템에서 노드 사이의 상태를 공유하는 합의 알고리즘 중 하나인 raft 알고리즘을 구현한 것. 쿠버네티스에서는 필요한 모든 데이터를 저장하는 데이터베이스 역할을 한다. 마스터 서버에서 분리시킬 수도 있다. kube-apiserver 쿠버네티스 클러스터의 API를 사용할 수 있도록 하는 컴포넌트 쿠버네티스의 리소스 정보를 관리하기 위한 프런트엔드 REST API. 각 컴포넌트로부터 리소스 정보를 받아 데..
Terraform의 Variables에는 input, local, output가 있다. 해당 글에서는 각 변수의 역할을 정리하고 어떻게 사용하는지 간단한 예제를 살펴보겠다. Input Variables - Configuration Language | Terraform by HashiCorp Input variables allow you to customize modules without altering their source code. Learn how to declare, define, and reference variables in configurations. www.terraform.io 내용과 관련된 Terraform 공식 문서는 다음과 같다. input input 변수는 사용자의 입력을 받을 수..