Loki, Promtail 이용한 실시간 로그 모니터링(feat. Docker)
·
🖥️Monitoring/Loki
구성Promtailloki프로젝트에서 제공하는 로그 수집기✅ Promtail 바이너리 다운로드# 버전 확인 (예: 2.9.4)VERSION="2.9.4"# 바이너리 다운로드 및 압축 해제wget https://github.com/grafana/loki/releases/download/v${VERSION}/promtail-linux-amd64.zipunzip promtail-linux-amd64.zipchmod +x promtail-linux-amd64sudo mv promtail-linux-amd64 /usr/local/bin/promtail✅ Config 파일 작성server: http_listen_port: 9080 grpc_listen_port: 0positions: filename: /var..
Grafana, Prometheus를 이용한 서버 모니터링
·
🖥️Monitoring/Grafana
⚙️ 동기가용되는 서버들이 많아 서버들의 리소스 확인 및 서버다운 확인 필요성을 느꼈다.서버들의 CPU, RAM, DISK를 모니터링을 하면서 CPU, RAM, DISK 각각 일정 %를 넘으면 알림을 주고, 서버가 다운이 되면 알림을 주도록 구현.🛠️ 사용한 Tools.서버모니터링 | Grafana메트릭 정보 저장 | Prometheus서버 CPU, Memory, Disk 정보 제공 | node exporter알림 제공 | alertmanager(Prometheus, Telegram)sudo yum install -y https://dl.grafana.com/oss/release/grafana-11.0.0-1.x86_64.rpmGrafana 방화벽 열기3000 port 방화벽 open# firewall..
K8s: Container Registry 접근하기 위한 설정 가이드
·
⚓K8s
환경구성Docker 설치K8s 설치CNI 설치kubectl create secret docker-registry registry-name \ --docker-server=REGISTRY-URL \ --docker-username= \ --docker-password= \ --docker-email=example@example.com # 이메일은 아무거나 넣어도 상관없다
PostgreSQL: pgloader를 이용한 이기종 DB 데이터 Migration
·
📊DB/PostgreSQL
환경MariaDB ➡️ pgloader ➡️ postgreSQLpgloader 서버의 Migration 세부파일 내용# migration_add.loadLOAD DATABASE FROM mysql:// INTO postgresql://WITH create tables, create indexes, reset sequences, batch rows = 1000, workers = 2, concurrency = 1, multiple readers per thread, prefetch rows = 5000, foreign keysEXCLUDING TABLE NAMES MATCHING # 제외 테이블 ~/TB_/, ~/TB_/, ~/..
K8s: Rocky Linux 8 설치가이드
·
⚓K8s
설치먼저, docker를 먼저 설치하고, k8s 설치 바람.쿠버네티스 버전 1.24.0 이전이면, 도커와 쿠버네티스가 연동되는 dockershim이 있었지만, 1.24.0 버전 이후에는 따로 설정을 해줘야 함.docker를 설치한 후,도커 데몬 설정#/etc/docker 디렉토리 없을 경우 생성sudo mkdir /etc/docker#daemon.json 파일 추가sudo cat cgroup(runc) 옵션 설정#containerd 구성 파일 생성sudo mkdir -p /etc/containerd#containerd 기본 설정값으로 config.toml 생성sudo containerd config default | sudo tee /etc/containerd/config.toml#config.toml ..
K8s: CNI(Container Network Interface) 설정
·
⚓K8s
CNI(Container Network Interface) 설정컨테이너 간의 네트워크를 제어할 수 있는 플러그인으로 컨테이너 런타임에서 컨테이너의 네트워크를 사용하게 해주는 인터페이스이다.쿠버네티스에서 사용되는 Pod들은 기본적으로 오버레이 네트워크 방식을 적용하여 엔드포인트 간의 네트워크 구조를 추상화하여 네트워크 통신 경로를 단순화한다. 이때 사용되는 플러그인 마다 설정 방법이 다르다.master-node 에만,curl https://calico-v3-25.netlify.app/archive/v3.25/manifests/calico.yaml -Oyaml 파일 다운 받은 후, 적용kubectl apply -f calico.yaml
Kubernetes: 워커 노드 설정
·
⚓K8s
🧱 worker node 구성마스터 노드에서 kubeadm init 을 통해 생성한 join 명령어를 이용하여 워커 노드 등록sudo kubeadm join [ip]:6443 --token [토큰명] --discovery-token-ca-cert-hash [hashkey]
Kubernetes 마스터 및 워커 노드 설정 가이드 - ubuntu 22.04
·
⚓K8s
🫆 [공통] Master Node, Worker Node📌 ufw 서비스 중지ufw : ubuntu 방화벽 서비스.# ufw 서비스 중지.sudo systemctl stop ufw# ufw 서비스 자동 실행 중지.sudo systemctl disable ufw📌 swap 기능 비활성화swap 기능을 비활성화 하는 이유.노드 리소스 예측 : 노드의 CPU, 메모리 등의 자원을 효율적으로 사용하도록 설계. SWAP 메모리 사용 시 메모리 사용량 예측하기 어려움.Qos 보장 : 메모리 제한에 도달한 Pod가 Swap을 사용하게 되면, Swap 공간이 부족할 경우 프로세스가 종료될 수 있음.성능저하 : 디스크 I/O가 증가하여 성능 저하 가능.# Swap 끄기.sudo swapoff -a# swap 자동 ..
일반 사용자 계정에서 Kubectl 설정하기
·
⚓K8s
🧱 일반 사용자 계정에서도 Kubectl 명령어 사용하기root 계정으로 접속 후, 다음을 실행.sudo mkdir -p /home/ubuntu/.kubesudo cp -i /etc/kubernetes/admin.conf /home/ubuntu/.kube/configsudo chown ubuntu:ubuntu /home/ubuntu/.kube/config
Kubernetes 설치 및 설정 가이드 - Ubuntu 22.04
·
⚓K8s
📌 ufw 서비스 중지ufw : ubuntu 방화벽 서비스.ufw : ubuntu 방화벽 서비스.# ufw 서비스 중지.sudo systemctl stop ufw# ufw 서비스 자동 실행 중지.sudo systemctl disable ufw📌 swap 기능 비활성화swap 기능을 비활성화 하는 이유.노드 리소스 예측 : 노드의 CPU, 메모리 등의 자원을 효율적으로 사용하도록 설계. SWAP 메모리 사용 시 메모리 사용량 예측하기 어려움.Qos 보장 : 메모리 제한에 도달한 Pod가 Swap을 사용하게 되면, Swap 공간이 부족할 경우 프로세스가 종료될 수 있음.성능저하 : 디스크 I/O가 증가하여 성능 저하 가능.# Swap 끄기.sudo swapoff -a# swap 자동 마운트 끄기.sudo..