분류 전체보기126 [CS] NTP(Network Time Protocol) NTP 시간은 현대 컴퓨팅 시스템에서 가장 중요한 요소 중 하나이며 분산 시스템, 로그 분석 등 많은 영역에서 정확한 시간 동기화가 필수적으로 요구된다. 분산된 환경에서의 시간 동기화를 가능하게 하는 것이 바로 NTP(Network Time Protocol)이다. NTP는 컴퓨터 시스템 간의 시간 동기화를 위하여 개발이 된 네트워킹 프로토콜이다.. 데이비드 밀스(David L. Mills)가 1985년에 개발한 이후, 현재는 널리 사용되는 인터넷 프로토콜 중 하나이다. 주로 UDP 포트 123을 사용하며, Miliseconds 단위의 정확도로 시간을 동기화할 수 있다. 동작 원리 NTP는 클라이언트와 동기화 서버 간의 패킷을 교환하여 시간을 동기화한다. 아래의 4 단계를 거쳐서 동기화가 이루어진다... 2024. 11. 19. [PostgreSQL] 데이터베이스 백업 (pg_dump, pg_dumpall, Filesystem 백업) 데이터베이스를 사용할 때 장애 발생 시 대응을 위하여 여유분을 별도로 저장해 두거나, 다른 서버로 이관을 할 때 백업을 많이 이용한다. 이번 글은 PostgreSQL에서의 백업에 대하여 알아볼 것이다. Psql(PostgreSQL)의 가장 손쉬운 백업 방식으로는 3가지가 있다.※ pg_backrest나 pg_basebackup 및 PITR과 같은 방식도 존재하고 설정이 복잡해서 이번 글에서는 생략 해당 3가지 방식으로는 pg_dump와 pg_dumpall 그리고 Filesystem 백업이 있다. 순서대로 해당 방식들이 가지는 특징과 장단점에 대하여 알아볼 것이다.1. pg_dumppg_dump는 단일 데이터베이스 위주의 백업을 위해 사용되는 툴이다. 데이터베이스가 실행 중인 상태에서도 백업 가능하.. 2024. 11. 18. [Linux] 네트워크 사용량 모니터링 리눅스에서는 실시간으로 네트워크의 송수신량을 확인할 수 있는 많은 툴들이 존재한다. 이번 글에서는 그 툴들과 용도에 대하여 알아볼 것이다.1. nethogs 설치# Ubuntu 기준의 apt 설치sudo apt install nethogs 실행sudo nethogs 설치를 하고 실행을 한다면 아래와 같이 프로세스 및 네트워크 인터페이스 별로 해당 네트워크에 오가는 데이터 양을 확인할 수 있다. 2. iftop 설치 # Ubuntu 기준의 apt 설치sudo apt install iftop 실행sudo iftop iftop은 nethogs와 다르게 네트워크의 출발지와 목적지의 구분과 해당 데이터의 크기에 좀 더 직관적인 UI를 가지고 있다. 아래 사진을 참고하자면, 데이터의 크기를 가로 막.. 2024. 11. 17. [Linux] Tcpdump로 네트워크 인터페이스 패킷 확인 리눅스 환경에서 특정 네트워크 인터페이스에 송수신되는 패킷을 확인하고자 할 때 아주 편리한 툴이 있다. 바로 Tcpdump이다. 이를 활용하여 특정 서버에 네트워크 관련 문제가 발생했을 때, 패킷이 정확하게 서버로 전송이 오는지를 확인할 수 있다. ※ Tcpdump는 기본적으로 Root 권한이 필요로 한다. 다음은 쿠버네티스 클러스터에서 생성된 파드의 네트워크 인터페이스를 tcpdump로 확인하여 해당 파드에 패킷이 전송되는 것을 확인해 볼 것이다.파드 생성 # nginx 수신 파드 생성kubectl run receive-nginx --image=nginx:latest 파드를 생성해 주고, 배정된 IP를 확인한다. 파드가 생성된 노드에 접속하여, 해당 IP로 라우팅 되어 있는 네트워크 인터페이스.. 2024. 11. 16. [Harbor] Harbor에 Helm Chart 올리기 사내 개발 시 많은 회사들이 Image Registry로 ECR이나 Harbor 또는 Nexus를 많이 사용한다. Harbor는 컨테이너 이미지뿐만 아니라 Helm Repository로도 사용할 수 있다. 이번 글에는 해당 과정을 알아볼 것이다. Helm Chart 제작 간단하게 프로젝트를 만들고, 이를 tgz파일로 패키징 하는 작업을 할 것이다. # helm 차트의 새 프로젝트 생성helm create test 위 명령어를 실행하면 test라는 디렉터리가 생기고, 내부에는 아래 사진과 같은 구조로 생성된다. test라는 디렉토리로 이동해서 아래의 명령어를 실행하면 존재하는 파일을 압축하여 tgz파일로 패키징 해준다.# test 디렉토리로 이동cd test# helm 차트 패키징helm pack.. 2024. 11. 15. [ArgoCD] ArgoCD란 ArgoCD ArgoCD는 쿠버네티스 환경에 사용되는 선언적 GitOps 지속적인 배포 툴이다. ※ GitOps : Git 저장소를 진실의 근원으로 사용하여 인프라와 애플리케이션의 상태를 선언적으로 관리하는 방식 ArgoCD의 저장소(Repository)는 기본적으로 Git, Github 및 Gitlab을 활용할 수 있고, 추가로 Helm 기반의 Repository도 활용이 가능하다. 위 저장소에 저장된 템플릿으로는, 아래 항목들을 이용할 수 있고, 이를 토대로 배포가 된다.kustomize applicationshelm chartsjsonnet filesPlain directory of YAML/json manifestsAny custom config management tool configu.. 2024. 11. 14. 이전 1 2 3 4 5 6 7 ··· 21 다음