본문 바로가기

혼자하는 프로젝트

(27)
프로그래밍 이란? # 프로그래밍의 대한 정의? 시간의 순서에 따라서 일어나야 하는 일을 컴퓨터에게 알려주는 일이 프로그래밍입니다. 프로그래밍을 통해서 만든 결과물이 프로그램이다...
AWS KinesisDataStreams와 AWS KinesisFirehose를 이용한 아파치 로그 데이터 수집 저장 (2) # AWS KinesisDataStreams와 AWS KinesisFirehose를 이용한 아파치 로그 데이터 수집/저장 구현 - Kinesis Agent를 활용하여 데이터를 수집 및 저장하는 방법을 구현한다. - Kinesis Agent 사용에 대한 설명은 아래의 링크에서 확인 가능 https://docs.aws.amazon.com/ko_kr/streams/latest/dev/writing-with-agents.html Kinesis Data Streams를 사용하여 Amazon Kinesis Data Streams 쓰기 - Amazon Kinesis Data Streams 다음 흐름 구성은 첫 줄이 "[SEQUENCE="로 시작하는 여러 줄 레코드를 구문 분석합니다. 먼저 각각의 레코드가 한 줄 레코..
AWS KinesisDataStreams와 AWS KinesisFirehose를 이용한 아파치 로그 데이터 수집 저장 (1) # AWS KinesisDataStreams와 AWS KinesisFirehose를 이용한 아파치 로그 데이터 수집/저장 하는 방법 - 기본 아키텍처 - Amazon Kinesis Data Streams는 데이터를 실시간으로 수집하고 수집된 데이터를 저장하여 데이터 분석이 가능하도록 실시간으로 제공한다. - 구현 방법 : Producer는 지속적으로 Amazon Kinesis Data Streams에 지속적으로 데이터를 push 한다. Counsumer는 실시간으로 데이터를 처리한다. - 용어 설명 Shard: Stream에서 고유하게 식별되는 데이터 레코드 시퀀스 Stream은 1개 이상의 Shard로 구성되며 각 Shard는 고정된 용량을 제공, Stream의 총 용량은 해당 Shard의 용량의 합계..
Zabbix 를 통해 서버 모니터링 하기 # 설계 구성도 - 현재 구성된 자동배포 시스템에서 Jenkins 서버와 Web서버를 zabbix 로 모니터링하는 시스템을 구축해보자. 1. zabbix 서버를 생성 후 우분투를 설치한다. 2021.11.04 - [Hyper-V & VirtualBox] - Hyper-V 에 우분투 Ubuntu OS 설치 Hyper-V 에 우분투 Ubuntu OS 설치 # Hyper-V에서 우분투를 설치하는 과정에 대해서 알아봅시다. 1. 우분투 최신 버전을 다운받는다. - 우분투는 오픈소스 OS 이므로 구글에서 검색 후 다운로드를 진행한다. 2. Hyper-V 를 실행하고 다운 may9noy.tistory.com 2. 외부에서 SSH 접속 가능 하도록 설정 2021.11.27 - [리눅스/SSH 접속도구 & SSH] -..
Jenkins 을 활용하여 Spring boot 를 자동배포 하기(2) # 1편에 이어서 계속 하겠다. - Git에 WebHooks를 등록하고 Intellij에서 커밋과 푸쉬를 하였지만... 아래와 같은 오류만 계속 나온다. - 구글검색을 해보니... WebHooks는 외부망에서 접근을 하는것이므로 내컴퓨터에 있는 Hyper-V 의 Jenkins 서버를 외부망에서 접근 가능한 상태로 만들어 주어야 했다. - 그래서 찾은 결과가 바로 ngrok를 설치하여 외부망에서 접근 가능하도록 만들어보자. ngrok란? ngrok는 NAT 및 방화벽 뒤에 있는 로컬 서버를 보안 터널을 통해 공용 인터넷에 접속하는 방법을 제공합니다. 다운로드 URL : https://ngrok.com/download ngrok - download Install ngrok via Homebrew $ brew..
Jenkins 을 활용하여 Spring boot 를 자동배포 하기(1) # 구성도 # 사전 준비사항 본인것이거나, 권한을 가지고 있는 GitHub repository에 올라간 Spring Boot 프로젝트 2021.11.21 - [JAVA/Spring] - IntelliJ와 GitHub 연동하기 IntelliJ와 GitHub 연동하기 - 일단 스프링 부트 프로젝트를 생성하기 위해 스프링 이니셜라이저 사이트로 이동한다. https://start.spring.io/ 아래와같이 서정하고 제너레이터를 클릭하여 파일을 다운받는다. - 인텔리J를 실행시 may9noy.tistory.com 1. 도커와 Jenkins을 설치하기 2021.11.17 - [CI | CD/Jenkins] - Jenkins 설치 Jenkins 설치 # Jenkins을 설치하는 과정에 대해서 알아보자. Jenki..
Docker 컨테이너를 Nodeport를 이용하여 구현하기 # 외부로 서비스하는 방법들과 노드포트 NodePort: 노드의 자체 포트를 사용하여 포드로 리다이렉션 LoadBalancer: 외부 게이트웨이를 사용해 노드 포트로 리다이렉션 Ingress: 하나의 IP 주소를 통해 여러 서비스를 제공하는 특별한 메커니즘 # 노드포트 생성하기 port: 80 # 서비스의 포트 (브라우저 서비스 시 서비스 포트) targetPort: 8080 # 포드의 포트 (deployment 생성 시 포트) nodePort: 30001 # 최종적으로 서비스되는 포트 - 간단한 개념 : 노드 - svc - 포드 1. yaml 파일 생성 k8s-master-node@k8smasternode-Virtual-Machine:~/yaml$ vi http-go-nodeport.yaml - 코드 ..
노드포트(nodeport)를 활용한 nginx 웹서버 구현 - 클라우드 환경에서는 클라우드 환경의 loadbalancer를 통해 서비스들의 부하분산 구현이 가능하다. - 단일환경 및 로컬환경에서는 loadbalancer구현이 쉽지 않으므로, nodeport를 통해 서비스를 구현해 보자. - 노드포트를 통해 연결된 서비스가 3개라면 로드밸런싱이 자동으로 구현된다. 노드포트란? NodePort 서비스는 Service를 만들어 외부에서 접속 가능한 Port 번호를 지정하여 서비스를 연결하고, 내부의 Pod은 Label Selector로 port를 지정, Target Port 번호를 정의하는 것이다. 말이좀 어려운데 잘 정리된 그림이 있어서 참조하며 설명 하겠다. 한마디로 외부에서 접근 가능한 port를 지정해주어 서비스를 가능하게 해주겠다는 이야기이다. pod 자체는..