[Jenkins] Jenkins에서 ArgoCD API 사용하기

k8s로 신규 프로젝트를 진행하는 만큼, 기존에 사용해왔던 tool이랑 신규로 사용하는 tool을 적절히 조화롭게 써야한다고 생각했다. 신규 프로젝트라고 처음 사용하는 tool들을 사용하다보면 학습시간이 더 많이 소요될 수 있기 때문이다. 그래서 난 평소에 자주 쓰던 Jenkins와 처음 사용해보는 ArgoCD를 조합하고자 했다.(사실 ArgoCD는 API를 통해서 조종하는거라 조합이라기에는 애매하다….) ArgoCD Token 받아오기 먼저 Jenkins에서 ArgoCD Token을 받아오고 해당 Token을 … Read more

[Jenkins] HTTP Request 사용하기

업무에 있어서 많이 사용하고 있는 Tool중 하나인 Jenkins에서 HTTP Requset를 날리는 법을 작성하고자 한다. curl을 사용해서 스크립트를 작성할 수도 있지만 뭔가 멋이 안난다. Jenkins는 수많은 플러그인을 제공하고 있기에 이를 사용하면서 스크립트를 작성하고자 욕구가 있다… 간단하게 현재 사용하고 있는 방법에 대해서만 작성해야겠다. HTTP Requset Example 위의 3가지 response들은 각각의 예제들인데, 특정 헤더값을 넣고 싶거나 Body형태에 따라서 … Read more

[gRPC] gRPC의 이해

Pinpoint에서 gRPC를 사용해서 통신을 하는 방법이 있기도 하고, 현재 gRPC에 대한 제대로 된 이해조차 없이 무지성 사용중이기에 이를 조금 이해하고자 한다. gRPC와 비교할만한 군이 REST라고 생각하는데, gRPC에 대해 중점적으로 알아봤다. gRPC? RPC? gRPC는 구글이 최초로 개발한 오픈소스 RPC 시스템이다.(참조: https://ko.wikipedia.org/wiki/GRPC) 원격 프로시저 호출(RPC) 모델을 기반으로 한다는데… 사실 이게 무슨 말인지 하나도 이해가 안간다. 먼저 RPC에 … Read more

[Kubernetes] ChartMuseum 설치하기

현업에서는 GKE를 사용하고 있어서 Helm Chart Repository를 당연하게 GCP Artifact Registry를 사용하려고 했다. 하지만 다른 tool과 이슈가 있어 다른 Repo를 찾고 있었다. artifact hub는 Private하려면 직접 구축해야할 것 같은데, 배보다 배꼽이 더 큰 느낌이 들었다. 그렇게 OpenSource를 뒤적거리던 중, ChartMuseum을 찾았다. ChartMuseum https://github.com/helm/chartmuseum 생각보다 많은 star 수에 놀랐는데, 채택하게된 이유로는 API 기반이며 UI를 추가 설치할 … Read more

[Linux] netstat 명령어

현업에서 자주 사용되는 명령어 중 하나인 netstat에 대해 다뤄볼까 한다. 간단한 명령어기도 하고, 자주 쓰이는 옵션들은 한정적이라 깊게 다룰만한 명령어는 아니지만 정말 유용하게 쓰인다. netstat 네트워크 연결에 관한 정보를 표시해주는 명령어인데, 주로 현재 서버에서 열려있는 port 및 해당 port를 물고 있는 프로세스 확인의 용도로 사용하고 있다. 단순하게 netstat을 쳐보면 어지러운 글자들의 향연이 펼쳐진다. 그렇기에 필요한 … Read more

[Kubernetes] VSCode virtualbox 연결하기

virtualbox로 만든 vm에 있는 minikube에 붙는 것이 목적이다. minikube 설치하는 방법은 아래의 링크를 참고하면 좋을 것 같다. VSCode virtualbox 연결하기 먼저 연결할 vm에 네트워크 설정에 들어가 어댑터 1번의 포트포워딩을 추가한다.(로컬 PC의 13222 port를 해당 장비의 22 port로 포워딩하는 규칙이다.) VSCode의 Remote-SSH로 위와 같은 config를 작성한다. 그 후 원격연결을 시도하면 SSH를 통해 해당 VM에 붙는 것을 … Read more

[Kubernetes] minikube 설치 in Windows

Windows에 minikube 설치를 필요로 한 계기는 딱 하나였다. 개발자들이 로컬 PC에서 개발을 할 때, kubernetes의 환경을 미리 접하면 좋을 것 같다라는 의견이 시작이였다. 물론 개인마다 k8s를 줄 수 있다면 좋겠지만, 여러 문제들이 있기에 로컬 PC에 minikube를 설치하여 진행하기로 한 것이다. 개발자들의 PC는 MacOS가 대부분이지만 Windows도 있고, 내 컴퓨터도 마찬가지기에 Windows로 진행을 해보기로 했다. VirtualBox 설치하기 … Read more

[Pinpoint] Collector Starter, Web Starter, Agent 설치

Pinpoint 3.0을 활용하고 싶으면 Pinot, Kafka를 설치해서 Metrics을 수집할 수 있기에 매뉴얼은 위에 기록했다. Pinpoint 3.0에는 일반적인 Collector, Web도 있지만 Pinot와 Kafka를 붙여서 사용하는 Collector Starter, Web Starter라는 것이 있다. 여기서 크게 문제가 됐던 부분이 있어서…. 헤맨 기억이 있다. Collector Starter v3.0 설치하기 위경로에서 jar 파일을 다운 받고 기존에 설치했던 java를 통해 실행만 시켜주면 끝이다. … Read more

[Pinpoint] Pinot, Kafka 설치

Pinpoint 3.0을 사용하려면 Pinot, Kafka 설치 전 HBase를 설치하는 매뉴얼은 위에 기록했다. Pinpoint 3.0부터는 System Metrics를 수집하는 것이 하나의 특징을 보인다. 그렇다면 이러한 System Metrics를 수집해보는 것이 당연하다 느껴져서 이를 도전해보고자 했다. System Metrics 수집은 Pinot와 Kafka를 필요로 하기에 설치를 진행했다.(Pinot는 처음 들어보는…..) Kafka v2.13 설치하기 위 경로에서 2.13 버전을 다운받아 압축을 풀어준 후에는 zookeeper.properties에서 … Read more

[Pinpoint] HBase v2.5.10 설치하기

Naver에서 개발한 오픈소스인 Pinpoint… APM Tool이면서 성능 분석도구로 많이 사용하고 있다. 다른 APM 툴에 비해서 장단점은 명확히 존재하지만, 오픈소스기도 하고 따로 소스코드쪽 수정이 필요없기에 많은 선택을 받고 있다고 생각한다. Pinpoint는 여러가지 서비스(모듈)들이 합쳐지는데 각각의 버전 호환 여부가 중요하다. https://github.com/pinpoint-apm/pinpoint 위 링크를 통해 버전들을 확인해보면서 아직 정식출시되지는 않았지만 어느정도 개발이 완료된 것 같은 Pinpoint 3.0을 채택하였다.(실제 … Read more