[k8s] 아키텍처 및 동작
·
KUBERNETES
쿠버네티스 클러스터 구조 Control Plane(Master Node)는 클러스터를 컨트롤하기 위한 기능들을 제공하며 클러스터 전역에 걸친 의사결정과 클러스터 이벤트 감지 및 응답을 함 Worker Node는 컨테이너를 실행하고 네트워크를 설정하는 등 실제 유저가 사용하는 서비스를 관리함 Control Plane(Master Node) 구성 구성 종류 설명 kube-apiserver 쿠버네티스 클러스터의 API 를 사용할 수 있또록 하는 컴포넌트 클러스터로 온 요청이 유효한지 검증함 etcd 쿠버네티스에서 필요한 모든 데이터를 저장하는 데이터베이스 역할을 함 분산환경에서 설정관리, 서비스 디스커버리, 작업조율을 위한 데이터를 저장하는 분산 Key-value 저장소 kube-scheduler 클러스터안의..
[k8s] 명령어 정리
·
KUBERNETES
kubectl 명령어 명령어 설명 apply 원하는 상태를 적용 (보통 -f 옵션을 선언해서 사용함) get 리소스 목록 조회 describe 리소스의 상태를 자세하게 조회 delete 리소스 제거 logs 컨테이너 로그 확인 exec 컨테이너에 명령어를 전달, 컨테이너에 접근할 때 주로 사용 config kubectl 설정을 관리함 apply kubectl apply -f [파일명 or URL] 파일뿐만 아니라 URL로 입력 가능함 kubectl apply -f sample.yml (배포 및 실행) get kubectl get [TYPE] 쿠버네티스에 선언된 리소스를 확인 kubectl get pod (파드 정보 확인) kubectl get pod, service (파드, 서비스 정보 확인) kubec..
[DATA STRUCTURE] RED BLACK TREE
·
ALGORITHM & DATA STRUCTURE
Red-Black Tree 정의 이진탐색트리를 기반으로 하는 트리형식의 자료 구조이며, 동일한 노드의 개수일 대, depth를 최소화하여 시간 복잡도를 줄여주는 구조임 각 노드는 Red or Black의 색깔을 가짐 Root node의 색깔은 Black임 각 Leaf node는 Black 어떤 노드의 색깔이 Red일 경우 두개의 자식 노드의 색깔은 모두 Black Red-Black Tree 특징 이진탐색트리이므로 이진탐색트리의 특징을 가짐 Root node 부터 Leaf node까지의 모든 경로 중 최소 경로와 최대 경로의 크기 비율은 2 보다 크지 않음 이러한 상태를 balanced 상태 이진탐색트리의 삽입, 삭제 과정에서 발생하는 문제점을 해결함 노드의 child 가 없을 경우 child 를 가리키는..
[JAVA] 람다표현식
·
JAVA
람다표현식 (Lambda) 개념 함수형 인터페이스를 구현한 클래스 즉, 익명 클래스의 메소드를 하나의 식으로 표현 함수형 인터페이스의 메서드를 람다표현식으로 작성해서 다른 메서드의 파라미터로 전달할 수 있음 매개변수, 화살표, 몸통 구조 함수형 인터페이스를 통해서만 사용이 가능함, 즉 람다 표현식 전체를 해당 함수형 인터페이스를 구현한 클래스의 인스턴스로 취급함 함수형 인터페이스 인터페이스 내에 한개의 추상 메소드만 정의 외부 메소드에서 호출 시 람다식이나 메소드 참조 가능 자바에서 함수를 일급객체로 사용할 수 없는 단점 보완 Lambda 특징 장점 단점 코드가 축약이 됨 (익명함수로 된 코드 줄임) 남용시 이해하기 어려움 가독성 증가 까다로운 디버깅 병렬 프로그래밍 Lambda 컴파일 처리 invoke..
[ELK] 로그스태시 설치
·
ELK
설치환경 OS : CentOS 7 설치 wget https://artifacts.elastic.co/downloads/logstash/logstash-7.16.2-linux-x86_64.tar.gz --2021-12-31 08:49:32-- https://artifacts.elastic.co/downloads/logstash/logstash-7.16.2-linux-x86_64.tar.gz Resolving artifacts.elastic.co (artifacts.elastic.co)... 34.120.127.130, 2600:1901:0:1d7:: Connecting to artifacts.elastic.co (artifacts.elastic.co)|34.120.127.130|:443... connect..
[ELK] 키바나 설치
·
ELK
설치환경 GCP VM 머신 : e2-medium (vCPU 2개, 4GB 메모리) OS : CentOS 7 설치 [tgyun615@elastic-3 ~]$ wget https://artifacts.elastic.co/downloads/kibana/kibana-7.16.2-linux-x86_64.tar.gz --2021-12-28 10:31:49-- https://artifacts.elastic.co/downloads/kibana/kibana-7.16.2-linux-x86_64.tar.gz Resolving artifacts.elastic.co (artifacts.elastic.co)... 34.120.127.130, 2600:1901:0:1d7:: Connecting to artifacts.elastic..
[GCP] 방화벽 설정
·
GCP
생성한 인스턴스 방화벽 설정 페이지 접근 선택한 인스턴스에서 네트워크 세부정보 보기 클릭 좌측 네비게이션에 있는 방화벽 클릭 방화벽 규칙 만들기 클릭 방화벽 규칙 생성 이름 탭에 방화벽 규칙 명 입력 태그 탭에 원하는 태그 입력 소스 IPv4 범위에 모든 IP 접근 허용할 경우 0.0.0.0/0 입력하고 아니면 특정 IP 입력 프로토콜 및 포트에서 원하는 방식 설정 (모두허용은 다허용, 지정된 프로토콜 및 포트는 특정포트만 허용) 만들기 클릭 대상 인스턴스 방화벽 설정 대상 VM인스턴스 세부정보에서 수정 클릭 네트워크 태그 항목에 방화벽 규칙 생성시 입력했던 태그를 입력 저장 클릭
[ELK] 엘라스틱서치 설치
·
ELK
설치환경 GCP VM 머신 : e2-medium (vCPU 2개, 4GB 메모리) OS : CentOS 7 설치 [tgyun615@elastic-1 ~]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz --2021-12-28 05:31:27-- https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.2-linux-x86_64.tar.gz Resolving artifacts.elastic.co (artifacts.elastic.co)... 34.120.127.130, 2600:1901:0:1d7:: Con..
[GCP] VM인스턴스 생성
·
GCP
계정생성과 프로젝트 생성은 생략 순서 : VM인스턴스 생성 페이지 접근 => VM 인스턴스 생성 진행 => VM 인스턴스 생성 확인 1. VM인스턴스 생성 페이지 접근 좌측 상단 탐색 메뉴 => Compute Engine => VM 인스턴스 인스턴스 만들기 버튼 클릭 2. VM 인스턴스 생성 진행 이름 탭에서 인스턴스명 입력 리전 / 영역 선택 (한국리전 : asia-northeast3 서울 / 영역은 아무거나) 머신 유형에서 원하는 사양 선택 부팅디스크 항목에서 변경을 클릭하여 원하는 운영체제 선택 방화벽 항목에서 HTTP / HTTPS 트래픽 허용 체크 만들기 버튼 클릭 3. VM 인스턴스 생성 확인 VM 인스턴스 관리 탭에서 확인 내부 IP / 외부 IP 정보와 영역을 확인 기타 부팅디스크 변경시 ..