인프라

    [K8S, Grafana, Loki] 쿠버네티스 log monitoring tool Loki 설치법

    이전글에서 kong Ingress controller plugin으로 Prometheus를 설치했고, 이후에 Grafana와 연동해서 대시보드에서 Metrics를 확인할수 있게 되었다. 이전글 보러가기 그라파나 대시보드에 domain으로 접속하는법 burning-camp.tistory.com/71?category=959180 하지만 Prometheus는 CPU, Memory와 같은 Metrics수집이기에 각 pod에서 찍히는 log들을 볼수는 없다. 그렇기에 Log monitoring을 위하여 Loki를 선택하였다. 마지막까지 2가지 스택중에 고민을 하였는데 ELK vs Grafana + loki + promtail 스택이었습니다. 이중에서 loki를 선택을한 이유는 다음과 같습니다 ElasticSear..

    [K8S, Kong, Grafana] 그라파나 대시보드에 domain으로 접속하는법

    docs.konghq.com/kubernetes-ingress-controller/1.1.x/guides/prometheus-grafana/ 위의 문서를 통해 Kong Ingress를 사용하며 플러그인으로 Grafana와 Prometheus를 EKS환경에 설치를 했다. 하지만, 위에 예제에서는 Grafana를 portforwading 으로 접근하도록 가이드를 하고 있으나, production에서는 그럴수 없으니 미리 만들어둔 Ingress에 grafana service를 연결하려고 하였다. 하지만 Ingress에 연결해준뒤에 브라우저에서 /garafana로 접속하면 아래와 같은 에러가 나면서 실행이 되지않았다. ({“message”:“failure to get a peer from the ring-bal..

    [K8S] 왜 다른종류의 pod를 같은 service에 두면 안될까?

    오늘 회사에서 질문을 받았는데 너무나도 근원적인 질문이라서 답변을 시원하게 하지 못하였습니다. 상황은 아래와 같았습니다 wordpress + mysql을 사용하는 어플리케이션을 만든다고 가정해보겠습니다. 제가 알고있는 바로는 wordpress pod와 WP-svc라는 서비스가 있고, mysql pod와 mysql-svc라는 서비스가 있어서 요청을 보낼때 mysql-svc에 요청을 보내는게 일반적으로 알고 있습니다. 하지만 오늘 받은 질문은이랬습니다 mysql pod를 WP-svc 로 함께 묶어서 쓰면되지, 왜 굳이 mysql-svc라는 서비스를 따로 만들어서 구조를 복잡하게 가져가냐? 이게 틀리다는걸 알면서도 명쾌한 답을 낼수가 없었어서 답답했습니다 따라서 저의 질문은 아래 3가지 항목으로 정리가 될것같..

    [도커 노트 #2] 컨테이너 사용해보기

    이전글 먼저 보기 도커란? burning-camp.tistory.com/56 도커 사용하기 도커는 하나의 실행파일이지만 실제로는 서버와 클라이언트 역할을 각각할수 있습니다. 무슨 말이냐면 커멘트를 입력하면 도커 커맨드를 도커 클라이언트가 도커 서버로 전송하고 결과를 받아서 출력을 해줍니다. 컨테이너 실행하기 docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...] 먼저 우분투 컨테이너를 생성하고 해당 컨테이너 내부에 들어가 보겠습니다. docker run ubuntu:16.04 이 경우 아무런 반응이 없는것 처럼 보입니다. 그것은 실행이 되었지만 해당 컨테이너에 실행을 하라는 명령어를 전달하지 않았기 때문에 생성과 동시에 종료 됩니다. 여기서 중요한점이 ..

    [도커 노트 #1] 도커란?

    도커란? 기존의 문제점 서버의 환경이 AWS,Azure 등으로 바뀌게되거나 centos에서 ubuntu를 쓰거나 할때에 세팅을 다시 해줘야함 MSA에서 작은 서버를 여러대를 관리해야 하는 어려움이 생김 위와 같은 문제를 해결하기 위하여 도커가 탄생하게 되었다. 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼 이다. 마치 배에서 물건을 화물선에 컨테이너에 담아 옮기듯이 프로그램과 실행환경을컨테이너로 추상화 하고 동일한 인터페이스 를 제공해서 프로그램의 배포 및 관리 를 단순하게 해줍니다. 그렇기에 백앤드 프로그램, 데이터베이스 서버 등 프로그램을 PC,AWS,AZURE 등 어디서든 실행할수 있게 만들어 줍니다. 이와 같은 특성 때문에 CI/CD에서 사용됩니다. 기본개념 및 용어 컨테이너 기존의 가상머신(VM..