본문 바로가기

Devops29

[Linux] 메모리 Buffer/Cache 비우기 이전 글에서는 컴퓨터 자원과 그 사용량을 확인할 수 있는 명령어를 알아보았다.  [Linux/Ubuntu] 메모리 / 디스크 / 디렉토리 용량 확인많은 사람들이 AWS에서 Ubuntu를 기반으로 EC2 인스턴스를 많이 생성해서 운용하는 것으로 알고 있는데, 운용함에 있어 알아두면 좋은 명령어들이다. 1. 메모리 확인 # 기본 명령어 $ free # 가독성을ssnotebook.tistory.com  서버에 Database나 Kafka와 같은 메시지 브로커를 올려서 IO가 많이 발생하게 된다면, 아래 사진과 같이 Buff/Cache가 많이 쌓이게 된다.   필요에 따라 쌓인 캐시를 비워줄 수 있지만, 캐시를 바로 비우면 데이터 손실이 일어날 수 있기에 아래 명령어를 통하여 캐시를 스토리지와 동기화를 시켜준다.. 2024. 8. 13.
[Kong] Kubernetes 환경 내 Prometheus의 Metric 수집 및 확인 쿠버네티스 클러스터에서 Ingress Controller로 Nginx나 Kong이 많이 이용된다.  여기서 Ingress(Gateway)를 통하여, 클러스터에 들어오는 트래픽과 Latency는 UX 개선에 참고할 수 있는 중요한 Metric이다.  해당 글을 통하여, Helm 차트로 설치한 Kong Proxy(Gateway)의 메트릭을 Prometheus를 이용하여 수집하고 Grafana 대시보드를 이용하여 확인하는 과정을 알아볼 것이다.  1. Helm values.yaml 수정 admin 활성화 메트릭을 수집하기 위하여 kong admin을 활성화시켜 주고 http 이용을 위하여 활성화한다. [Default에서 수정한 옵션] admin.enabled : false  ->  true admin.type.. 2024. 8. 2.
[Kubernetes] Pgadmin4 Ingress 적용 데이터베이스에 접속하여 관리를 할 수 있는 툴이 여러 가지 있는데, 사람들이 가장 많이 사용하는 툴로 Dbeaver가 있고, PostgreSQL 같은 경우 Pgadmin4라는 전용 툴도 따로 존재한다. (다른 예 : MySQL의 Workbench) 여기서 Pgadmin4 같은 경우, 웹으로 접속하여 설치형 애플리케이션과 동일하게 이용할 수 있는 컨테이너 이미지가 존재하고, 이를 쿠버네티스 Ingress를 적용하여 접속하는 방법을 알아볼 것이다.  문제점 Kubernetes에서 Ingress로 클러스터 내부의 서비스를 이용할 때, 일반적으로 애플리케이션 API는 Prefix에 오는 Path를 제거해 주는 방식으로 많이 이용하는데, 이는 구현된 API의 로직에 따라 에러가 발생할 수 있다. Prefix를 제.. 2024. 7. 7.
[Jenkins] Build Number 초기화 Jenkins를 이용하면서 Job을 실행시키면, 각 수행마다, Build Number가 순차적으로 올라간다. 이 Build Number는 Job 내부에서 환경변수로 이용을 할 수 있고, 이는 여러 가지 변수(컨테이너 이미지 태그 등)로 사용할 때가 많았다. 하지만 어느 순간 초기화(다시 1로)가 필요해질 때가 발생하여, 기록차 남기게 되었다.    1. Jenkins 관리로 이동     2. Script Console로 이동     3. Script 기입 및 실행  아래는 특정 Job에 대하여 과거에 저장되었던 Build 내용을 삭제하고, Build Number를 초기화하는 스크립트다. // 특정 Job의 Build 내역을 삭제하고 Number를 초기화하는 Scriptitem = Jenkins.insta.. 2024. 7. 2.
[Kubernetes/Calico] 파드 IP와 네트워크 인터페이스 노드의 CIDR 쿠버네티스 환경에서 파드를 생성하게 되면, 노드에 배정받은 IP 대역을 기반으로 파드의 IP를 배정하게 된다.  아래의 명령어로 초기 쿠버네티스 클러스터를 구축할 때 설정했던, pod-cidr을 기반으로 노드에 배정된 대역을 확인할 수 있다. kubectl describe node [노드 이름] | grep CIDR    그리고 위 CIDR을 토대로 파드 IP가 배정되는 부분을 확인해 볼 것이다.  파드의 IP 배정  파드 생성   파드 조회   CIDR을 기반으로 192.168.1.4라는 IP가 파드에 배정이 된 것을 볼 수 있다. 생성된 네트워크 인터페이스 확인 이러한 파드들은 생성이 될 때, Calico에서 각각의 네트워크 인터페이스를 생성하게 되고, 이는 cali로 시작하는 이름의.. 2024. 5. 27.
[Kubernetes] 쿠버네티스 컴포넌트(Controlplane) 인증서 재발급 쿠버네티스 클러스터를 구축하면 Api-server는 모든 통신을 함에 있어 기본적으로 Https 통신을 한다. 이로 인하여 각 쿠버네티스 컴포넌트는 Api-server와 통신을 할 때, 클러스터의 초기화 및 합류하는 시점에서 인증서와 개인 키를 발급하고 통신에 사용한다. 기본적으로 인증서의 유효 기간은 1년이며, 이번 내용은 발급된 인증서의 유효 기간 확인 및 재발급에 대하여 다룰 것이다.Kubeadm으로 쿠버네티스 클러스터를 구축하고, Controlplane의 /etc/kubernetes 경로의 하위 파일들을 보면 아래와 같다.    이는 각 쿠버네티스 컴포넌트의 설정 값이 포함된 파일들이 있고, 그 내용은 아래 양식과 같다. 여기서 각 컴포넌트들의 인증서와 개인 키 값이 conf 파일에 내장되어 있는.. 2024. 5. 2.