일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- minikube
- 기록으로 실력을 쌓자
- Kubernetes
- 정보처리기사실기 기출문제
- CKA 기출문제
- 티스토리챌린지
- IntelliJ
- kotlin spring
- AWS EKS
- Pinpoint
- kotlin
- Linux
- aws
- 공부
- 오블완
- MySQL
- 정보처리기사 실기
- 코틀린 코루틴의 정석
- AI
- kotlin coroutine
- CKA
- mysql 튜닝
- PETERICA
- kotlin querydsl
- CloudWatch
- APM
- 정보처리기사 실기 기출문제
- Spring
- Java
- Elasticsearch
- Today
- Total
목록PETERICA (590)
피터의 개발이야기
ㅁ 개요 ㅇ 이글은 [EBS] EKS 생성, MongoDB 구성, gp2에서 gp3 EBS 볼륨으로 마이그레이션 에서 이어지는 글이다. ㅇ CSI Driver 설치 없이 AWS Console에서 gp2에서 gp3로 타입변경을 한 상태에서 포퍼먼스 테스트를 진행하려 한다. ㅇ 테스트를 위한 gp2 생성과 테스트 pod는 AWS 문서를 참조하였다. ㅁ Storageclasses gp2에 대한 이해 [ec2-user@ip-172-31-43-214 gp3Test]$ kubectl get sc gp2 NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE gp2 (default) kubernetes.io/aws-ebs Delete Wai..
ㅁ 개요 ㅇ MonogoDB의 볼륨이 gp2로 구성되어 있는 것을 gp3로 변경 테스트환경 구성과정 정리 ㅇ EKS에 CSI Driver를 설치 하지 않고 AWS Console에서 gp3 업그레이드 후 볼륨 접속 확인 ㅁ EKSCTL를 이용한 EKS 생성 및 확인과정 $ eksctl create cluster --name k8s-peter --region ap-northeast-2 --version 1.20 --nodegroup-name work-nodes --nodes 1 --nodes-min 1 --nodes-max 3 --node-type t3.medium --node-volume-size=20 --with-oidc --ssh-access --ssh-public-key aws-login-key --..
ㅁ 헬렘 설치하기 $ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 $ chmod 700 get_helm.sh $ ./get_helm.sh ㅁ 설치 확인 helm version ㅁ 헬렘 자동완성기능 추가 # helm zsh 자동완성기능 추가 $ echo 'source > ~/.bashrc [ec2-user@ip-172-31-43-214 ~]$ helm completion (generate autocompletion scripts for the specified shell) push (push a chart to remote) create (create a new chart with t..
ㅁ 개요 ㅇ 운영하다보면 데이터를 직접 헨들링할 경우가 있다. ㅇ 반복적인 작업을 대량으로 수행하기 위해 File내용을 기반으로 처리할 수 있도록 하였다. ㅇ redis의 작업을 수행하면서 오류를 최소화하고 작업이력을 남기기 위해 스크립트를 작성하였고, 그 과정을 정리하였다. ㅁ Script #!/bin/sh LOG="./redis.log" COMMAND=$1 REDIS_KEY=$2 FILE=$3 TODAY=$(date) # 필수값 체크 if [ $# -ne 3 ] then echo "param error [command / key / file]" exit 0; fi echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" echo ">> START : $TODAY" >> $LOG ec..
ㅁ 개요 ㅇ linux 서버에서 JSON 데이터를 볼 때가 많이 있다. 직렬화된 json을 보기는 쉽지 않다. ㅇ 이를 해결하기 위한 방법으로 jq명령어를 사용하면 JSON을 이쁘게 볼 수 있다. ㅁ 설치 ㅇ 맥의 경우 brew install jq ㅁ 사용법 ㅇ JSON string 파이프라인으로 재처리 하면 이쁜 JSON을 볼 수 있다.$ echo '{"foo": "bar"}' | jq ✔ 5238 23:20:52{ "foo": "bar"}$ echo '{"foo": "bar"}' | jq '.foo' ..
ㅁ 개요 ㅇ kubernetes 환경으로 Redmine을 구성하는 과정을 정리하였다. ㅇ 중간에 예행연습으로 생성한 redmine의 볼륨의 영향으로 트러블이 발생하여 PV를 삭제한 후 재설치하여 정상 설치가 되었다. ㅁ Helm Remote Repository 연결 helm은 잘 구축된 템플릿을 원격 리파지토리를 이용하여 손쉽게 가져올 수 있다는 강점이 있다. 쿠버네티스 생태계에서 잘 짜여진 템플릿을 사용하여 원하는 환경을 빠르게 구축할 수 있다. 우선적으로 원격 저장소를 연결해야 한다. # 원격 저장소 리스트 확인 $ helm repo list Error: no repositories to show # 원격 저장소 추가 helm repo add stable https://charts.helm.sh/st..
ㅁ Helm이란 Helm이란, kubernetes를 위한 패키지 관리 도구로, yaml 파일의 모음이라고 할 수 있다. apt, yum 툴처럼 플랫폼의 패키지를 관리하듯 kubernetes의 오브젝트들의 구성체인 yaml을 패키지 형태로 관리한다. helm 패키지는 YAML 형식으로 구성되어 있으며, 이것을 chart라고 한다. ㅁ Helm을 사용하는 이유 Infra 자원이 단순한 경우 kubectl 명령어를 통해 개별 오브젝트에 대한 설정과 관리는 충분히 가능하다. 하지만 앱이 증가하고 팀단위로 인프라가 확장될 경우 개별 오브젝트에 대한 YAML을 개별적으로 관리할 경우 파일의 갯수와 코드량의 증가로 관리에 어려움이 발생하게 된다. 그래서 정적인 Template에 동적인 설정 값(Value)으로 오브젝..
ㅁ 개요 상황에 따라 GUI가 아닌 터미널에서 SQL 작업을 하게 되는 경우가 있다. 이런 경우 CLI를 통해 직접 SQL를 편집하고 실행하는데, SQL 파일을 통해 편집하여 실행하면 실수나 기존 SQL를 보존하여 더욱 편리하다. 이번 글에서는 맥에 CLI를 설치하고 SQL 파일을 실행하는 과정을 정리하였다. ㅁ Brew를 이용한 mysql과 mysql-client 설치 ㅇ brew 명령어 사용 시 자동완성기능을 이용하면 효율적이다. ㅇ brew install mysql 입력 후 탭 키를 누르면 위의 이미지처럼 install 가능한 목록을 확인 할 수 있다. ㅇ mysql과 mysql-client를 선택한 후 커멘드 실행하면 install이 시작된다. ㅁ 설치 확인 ㅇ 설치 확인을 위해 mysql --v..
ㅁ 개요 ㅇ 부하테스트를 위해 시뮬레이터 환경을 구성하고 RDS Aurora MySQL을 사용 중이다. ㅇ 환경이 보안망에 구축되어 있어 외부에서 직접 접근이 막혀 있는 상황이다. ㅇ 부하테스트를 위해 예외적으로 EC2 서버를 SSH 터널링 하여 접근하게 되었고 그 과정을 정리하였다. ㅇ DataGrip이 있지만 개발의 편의성을 위해 Intellij의 DataBase를 주로 이용하고 있다. ㅁ SSH설정하기 ㅇ Data Sources and Drivers 창에서 SSH/SSL 탭을 클릭하였다. ㅇ Use SSH tunnel을 체크한다. ㅇ 기존 SSH 접근 host입력한다. ㅇ EC2의 기본 유저인 ec2-user를 입력한다. ㅇ Auth type은 Password, Key pair, OpenSSH가 있..
ㅁ 개요 ㅇ 이전 글인 [Elasticsearch] Elasticsearch DISK IO 병목현상 및 재기동 방법에서 burst traffic으로 인해 ES Data가 병목이 발생하여 해결하는 과정을 정리를 하였었다. ㅇ 현재 E/S Data 볼륨이 brust traffic 상황에서 gp2 볼륨 한계성으로 인해 Throttling 발생하여 2TB의 용량으로 확장하여 6000IOPS를 유지하고 있는 상황이다. ㅇ gp2에서 gp3의 확장이 필요하며,ES과 같은 대량의 트래픽을 처리하는 서비스에서 gp2보다는 gp3가 비용적 성능적으로 최적화 되어 있어서 구체적으로 그 차이를 정리하고자 이 글을 작성하였다. ㅁ Amazon Elastic Block Store(EBS)란? Amazon Elastic Bloc..