infra

Elasticsearch node 역할elasticsearch의 node들은 아래와같은 역학들을 가지고있다. Master NodeElasticsearch Cluster 구성을 관리, 제어(인덱스 생성/삭제)를 담당한다. Elasticsearch Cluster는 최소 1개의 마스터노드를 가지고 있어야하며, 데이터 무결성을 위해서 최소 3개(split-brain 방지)의 마스터노드를 권장한다고한다.  Data  Nodedata를 실제로 저장하고 검색 로직을 처리하는 노드데이터를 처리하기 때문에 cpu, mem 사용량이 많다.  Ingest  Nodedata를 Elasticsearch 에 저장하기 전에 전처리 하는 노드Ingest Pipeline을 이용해서 데이터 필터링, 전환, 정규화 등의 작업을 수행한다...
쿠버네티스를 완벽하게 이해하고 있지는 않지만, 점점 익숙해지는 과정에서 자연스럽게 모니터링의 필요성을 느끼게 되었다. 백엔드 서비스를 운영하다 보면 "현재 서비스가 정상적으로 동작하고 있는가?", "어떤 요청이 많고, 장애가 발생했을 때 원인을 어떻게 찾을 수 있을까?" 같은 고민이 생기기 마련이다. 이를 해결하기 위해 쿠버네티스 환경에서 ELK Stack을 구축하여 BE 서비스의 로그를 효율적으로 모니터링하는 방법을 직접 경험해보기로 했다. 이번 글에서는 Kubernetes에서 ELK Stack을 배포하고, 로그를 수집 및 분석하는 과정을 정리해보려고 한다.   ELK Stack VS GrafanaELK 와 Grafana 둘 다 모니터링 도구이지만 각각의 사용 용도는 조금 다르다.  ELK 로그 수집 ..
Object란?쿠버네티스 시스템의 상태를 나타내는 영속성 엔티티   Object 주요 특징Spec (명세)사용자가 정의한 "원하는 상태" 설명 그대로 사용자가 kubernets에 원하는 상태를 정의하는 역할을 한다. 정의 가능 내용에는 아래와같은 내용들이 있다.컨테이너 이름사용 이미지리소스 제한 (CPU, MEM)볼륨 마운트 (Local, PVC) Status (상태)kubernetes Cluster의 "현재 상태" Status는 현재 상태를 나타내며, Spec 에서 사용자가 정의한 상태를 유지하려고 능동적으로 작업한다."읽기 전용"이므로 사용자가 수정할 수 없고, 변경 시 event가 발생한다.   Object 종류1. Podkubernetes 에서 배포되는 최소 단위이며, 하나 이상의 컨테이너를 그룹..
옛날에 혼자 서적을 사서 쿠버네티스를 조금 테스트해 보다가 시간이 없어서 잊고 지냈다. 그런데 최근에 우연히 쿠버네티스를 다룰 일이 생겨서 기억에 남길 겸 정리해 보려고 한다.  kubernetes란?쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식 가능한 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. (출처: Kubernetes 공식 문서) 간단히 말하자면, 컨테이너 환경에서 서비스들을 관리하고, 다른 컨테이너들을 배포하며, 자동으로 스케일 아웃(Scale-Out), Ingress 등 오케스트레이션을 지원해 주는 플랫폼이다.    Cluster 란?컨테이너화된 애플리케이션 서비스를 실행하는 노드(Worker 서버)와 이를 관리하고 전체적인 관제를 담당하는 노드(..
· infra/기타
작업 이유일전에 jenkins 설치를 위하여 yum update 작업을 진행한 적이 있었다.커널의 버전이 업데이트 되었고 큰 문제는 없었다. 그러나 내가 불편하기도 하고, 추후에 업무적으로 정보를 전달할때 문제가 될 수 있기 때문에 해당 작업을 진행하였다.  적용 방법 $ vi /etc/yum.conf```# 가장 마지막에 추가exclude=rocky-release*, kernel* // Rocky Linux 일 경우* exclude=centos-release*, kernel* // CentOS 일 경우
· infra/AWS
RAG 파일 업로드일단 나의 경우 우선 pdf로만 테스트를 진행해볼 예정이기 때문에 S3에 파일을 업로드 후 테스트 해보려한다.   S3 버킷에 파일 업로드CLI를 이용해서 업로드 하지는 않고 직접 업로드를 하였다.(업로드 속도가 빠른건 기분탓인가...)    지식창고 동기화새로운 파일을 업로드 하였기 때문에 지식 창고를 동기화 및 데이터를 청킹해줘야함.    테스트 진행 (실패)지식창고 생성 후 모델을 생성해서 테스트를 진행하려는데, 모델이 나오지 않았다...무한 로딩창만이 있을뿐...혹시 몰라서 에이전트 생성도 진행해서 테스트를 해봤는데 Antropic Model이 필요했었다..Antropic Model은 기업 정보를 입력해야되서 불가능할걸로 예상하고 테스트를 중단할 수 밖에 없었다.... ㅠㅠ   ..
· infra/AWS
Bedrock 기본 연동AWS SDK (python) 연동작업 전 필수 조건AWS 계정이 있고, Bedrock에 필요한 권한이 있는 역할에 액세스 권한 필요루트 계정으로는 작업이 안됨. 사용자 생성 필요 (사용자 생성 및 Access Key 발급은 여기로)IAM 사용자에 대한 액세스 키 필요AWS CLI 사용자 프로필 구성 필요 (사용자 프로필 등록은 여기로!!)  이 글의 "생성 실패" 는 루트 계정으로 작업을 진행해서 실패한 케이스이다.해당 부분은 그러려니 하고 넘어가주면 된다.   기본 SDK 설치pip install boto3  기초 모델 나열# Use the ListFoundationModels API to show the models that are available in &BR; in a g..
· infra/AWS
작성 이유Bedrock 서비스 이용을 하기 위해서는 루트 계정이 아닌 사용자 계정을 만들어서 진행해야한다.일반적으로도 사용자 계정을 만들어서 작업을 진행하는것이 좋다.  IAM 서비스 접속신규 사용자 생성  사용자 이름 작성- Bedrock 서비스로 이용할 예정이기 때문에 이름은 "Bedrock"으로 작성하였다.- IAM 사용자를 만들 것이기 때문에 "AWS Management Console" 선택  (비밀번호는 기억하기 쉽게 직접 설정하였다.)   권한 부여- Bedrock을 사용 할 예정이기 때문에 "AmazonBedrodkFullAccess", "AmazonS3FullAccess" 권한을 준다.   사용자 정보 확인생성을 완료하게 되면 아래와 같은 정보들이 나온다- 콘솔 로그인 URL- 사용자 이름..
· infra/AWS
작성 이유Bedrock SDK 작업을 진행하려면 액세스키를 가지고 작업을 진행해야한다.사용자를 생성해서 IAM 권한으로 키를 등록하는게 좋지만, 단순 작업을 위하여 루트 계정으로 발급을 진행하려한다.   AWS 사용자 프로필 구성AWS CLI 다운로드- AWS CLI가 없는 사람들은 설치 후 진https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html 최신 버전의 AWS CLI설치 또는 업데이트 - AWS Command Line Interface이전 버전에서 업데이트하는 경우 unzip 명령을 실행하면 기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 스크립트 자동화와 같은 경우에 이러한 프롬프트를 건너뛰려면 unz..
· infra/AWS
작성 이유웹 서버에 정적 소스를 올려서 작업을 진행해야 할 일이 생겨서 S3 버킷을 알게 되었었다.또한 최근 Bedrock이라는 생성형 AI가 출시하게 되면서 RAG의 데이터 소스를 S3로 많이 사용하는 것을 알게되서 나 또한 사용해보기 위하여 작성한다.  S3란?어디서나 원하는 양의 데이터를 저장하고 검색할 수 있도록 구축된 객체 스토리지.   사용 용도S3는 확장성이 뛰어나고 사용한 만큼만 비용이 지불되기 때문에 작은 규모에서 큰 규모까지 성능, 안정성 저하 없이 사용할 수 있다.또한 원하는 형식의 데이터를 원하는 만큼 저장하고, 동일한 데이터를 수백만 번 읽거나, 비상 재해 복구 용도로만 사용하여도 좋다.   S3 버킷 생성기본 버킷 정보 설정- 객체 소유권 : 외부 계정에서 접속하지 않을 예정이므..
LIST
jjuni_96
'infra' 카테고리의 글 목록