글로벌 소셜 플랫폼 기업에서 Site Reliability Engineer로 재직 중이며, 쿠버네티스 멀티 클러스터 관리 및 데이터베이스 플랫폼 운영을 주도하고 있다. CRD(Custom Resource Definition)를 기반으로 한 오퍼레이터 개발, 분산 데이터베이스 글로벌 리전 운영, 대규모 데이터 파이프라인 자동화 등 다양한 경험을 바탕으로 현업 엔지니어들이 쿠버네티스를 보다 효율적으로 활용할 수 있도록 지원하고 있다. 또한 ISMS-P, GDPR, CCPA 등 글로벌 보안 규제에 부합하는 데이터 라이프사이클 파이프라인을 설계·운영한 실무 경험을 가지고 있으며, 쿠버네티스 오픈소스 프로젝트에도 기여하고 있다.
더불어 국내 주요 대기업 및 클라우드 퍼스트 기업을 대상으로 클라우드 전환, 데이터 거버넌스 컨설팅, 보안 컴플라이언스 대응을 지원해왔으며, 국가기관의 클라우드 인프라 및 데이터 보안 관련 정책 자문에도 참여한 경험을 통해 실무와 연구를 동시에 이어가고 있다.
講義
受講レビュー
- 実習で学ぶGrafana - {{ x86-64, arm64 }}
- 実習で学ぶGrafana - {{ x86-64, arm64 }}
- 実習で学ぶプロメテウス - {{ x86-64, arm64 }}
投稿
Q&A
k get ipaddresspools.metallb.io -A No resources found
안녕하세요. vagrant up 진행 시 내부적으로 해당 옵션에 대한 설정이 진행됩니다. 9~10분 정도 이후에 비동기로 반영이 되는데요. 사용자의 호스트 노트북 또는 PC 사양에 따라 비동기로 설정한 옵션이 정상적으로 동작하지 않을 수 있습니다. 관련된 내용은 아래 코드를 참고하시면 됩니다. (코드)#!/usr/bin/env bash ##### Addtional configuration for All-in-one >> replace to extra-k8s-pkgs EXTRA_PKGS_ADDR="https://raw.githubusercontent.com/sysnet4admin/IaC/main/k8s/extra-pkgs/v1.30" .... # split metallb CRD due to it cannot apply at once. # it looks like Operator limitation # QA: # - 240sec cannot deploy on intel MAC. So change Seconds # - 300sec can deploy but safety range is from 540 - 600 # config metallb layer2 mode (sleep 540 && kubectl apply -f $EXTRA_PKGS_ADDR/metallb-l2mode.yaml)& # config metallb ip range and it cannot deploy now due to CRD cannot create yet (sleep 600 && kubectl apply -f $EXTRA_PKGS_ADDR/metallb-iprange.yaml)& 이 경우에는 아래 내용을 쿠버네티스 클러스터 환경에서 입력해 설정을 적용할 수 있습니다. kubectl apply -f https://raw.githubusercontent.com/sysnet4admin/IaC/main/k8s/extra-pkgs/v1.30/metallb-l2mode.yaml kubectl apply -f https://raw.githubusercontent.com/sysnet4admin/IaC/main/k8s/extra-pkgs/v1.30/metallb-iprange.yaml문제 해결에 도움이 되시길 바랍니다.문성주 드림
- 0
- 1
- 24
Q&A
설치 과정 문의
안녕하세요.쿠버네티스를 설치하여 마스터노드1개 워커노드3대로 다른 작업을 하고 있는 상태입니다. Cilium 설치가 되어있는 환경입니다.현재 쿠버네티스 클러스터가 준비되어 있다면, 쿠버네티스 환경에서 2.11.배포된 쿠버네티스에 헬름(Helm)으로 프로메테우스 설치하기 기준으로 실습을 진행하시면 됩니다. 이 경우에 강의에서 편의로 제공해드린 여러 유틸리티가 설정되어 있지 않아 가급적 제공해드리는 환경으로 실습 진행을 권장드립니다. 강사님이 올려주신 코드를 깃클론한 후에 어느 시점부터 진행하면 되는지 헷갈려서 문의드립니다.파워셸에서 다른 과정은 생략하고 vagrant up만 진행했는데 vm은 뜨지만 kubectl이 먹지 않습니다ㅠ추가적으로 문의 주신 부분은 사용자 설정에 따라서 동작이 상이할 수 있어서 상세한 재현 경로 및 호스트 PC 정보, 베이그런트 버전에 따라 대응이 다를 것 같습니다. 설치 관련해서는 아래 강의를 순서대로 참고하시어 환경 구성을 진행해보시는 것을 권유드립니다.2.1.쿠버네티스 실습 환경을 통합하는 이유-v1.302.2.CPU 타입에 따라 선택할 수 있는 쿠버네티스 실습 환경-v1.302.3.베이그런트(Vagrant)+버추얼박스(VirtualBox) 또는 OVA 이미지로 쿠버네티스 환경 구축하기 (x86-64 amd64 사용자)-v1.302.4.베이그런트(Vagrant)+버추얼박스(VirtualBox)로 쿠버네티스 환경 구축하기 (모두, arm64 사용자)-v1.30감사합니다.문성주 드림
- 0
- 2
- 26
Q&A
Unable to connect to the server: dial tcp 192.168.1.10:6443: i/o timeout
안녕하세요.해당 문제의 원인으로는 cp-k8s에서 kube-apiserver 가 현재 접속이 불가능한 것으로 보여집니다.가능하시다면, 현재 cp-k8s 환경에서, ip addr show 를 입력한 결과를 공유해주시면 잘못된 부분이 어떤 부분일 지 확인할 수 있을 것 같습니다. 감사합니다.문성주 드림
- 0
- 3
- 57
Q&A
6.4 히트맵 해석
안녕하세요 학생12784798 님먼저 답변이 늦어진 점 사과드립니다.히트맵에서 5ms 범위 안에 들어가는 데이터들이 한눈에 보임을 강조하기 위해 5ms에 가장 부합하는 데이터가 많다고 설명해드린 부분이 오해를 일으킬 수 있는 내용인 것으로 파악하였습니다.분석하신 내용대로 가장 낮은 값 범위를 가지면 짙은 색을 나타내는 컬러 팔레트를 사용하고 있기 때문에,5ms 구간 값에 대해서는 컬러 팔레트 범위가 진한 갈색으로 설정돼 진한 갈색으로 나타나게 됩니다. 다만 자세히 보면 5ms 범위에 해당하는 값들내에서 빈도에 따라 색상이 옅어지는 경향을 확인할 수 있습니다. 이런 부분을 통해 색상에 따라 이상치를 쉽게 파악할 수 있는 목적으로 사용할 수 있습니다.답변이 도움이 되었으면 좋겠습니다.더 궁금하신 내용이 있다면 남겨주시면 확인 후 답변드리겠습니다. 감사합니다.문성주 드림
- 0
- 3
- 97
Q&A
선수작업으로 프로메테우스 강의를 들어야할까요?
안녕하세요 유마 님이미 프로메테우스 쿼리 작성에 대해서 익숙하시다면 선수 강의를 듣지 않으셔도 됩니다. 만약 선수 강의 들으시기에 시간적 여유가 없으시거나 부담스러우시다면 프로메테우스 공식 문서의 메트릭(https://prometheus.io/docs/concepts/metric_types/) 그리고 메트릭 조회 쿼리(https://prometheus.io/docs/prometheus/latest/querying/basics/#querying-prometheus)에 대한 부분을 한번 살펴보신 후 강의를 진행하시는 것을 권장 드립니다. 답변이 도움이 되셨으면 좋겠습니다.감사합니다.
- 0
- 1
- 145
Q&A
histogram panel 설정시
안녕하세요 응애 나 아기 개발자 님다음과 같이 히스토그램에 대한 쿼리를 Timeseries 확인할 때에는 패널에 결과가 보인다고 설명해주셨습니다.(사진)그리고 위와 같은 패널에서 시각화 타입을 histogram으로 변경하고 쿼리를 조회했을 때, 아래와 같은 패널이 나타나지 않고 데이터 조회에서 에러 발생한다고 남겨주신 것 같습니다.(사진)아무래도 현재 버전의 그라파나 히스토그램 패널이 베타 버전이기에 간헐적으로 시각화가 실패할 수 있을 것 같습니다. 그라파나 로직 상 브라우저 캐시에 영향을 받을 수 있으니 현재 탭에 브라우저 캐시를 초기화 하기 위해서 그라파나 실습 환경에서 CTRL + SHIFT + R 입력을 하신 후 다시 histogram 실습을 진행 부탁 드립니다.계속 동일한 증상이 발생한다면 브라우저에서 F12를 눌러 나타나는 콘솔에서 에러가 나타났는지 확인 부탁 드립니다.감사합니다.
- 0
- 2
- 133
Q&A
prometheus 설치 방법 문의드립니다.
안녕하세요 YS 님 프로메테우스를 쿠버네티스 클러스터에 구성하는 방법이 여러가지가 존재합니다. 가장 기본적인 구성 방식이 알고 계신 매니페스트 파일을 사용하여 배포하는 방법 그리고 프로메테우스 커뮤니티가 제공하는 헬름 차트를 사용하는 방법이 존재합니다. 각각 어떤 컨테이너 이미지를 사용하고 어떤 환경변수들이 사용되는 지 자세한 내용은 프로메테우스 버전에 따라 다를 수 있지만, 강의에서 다룬 주요한 개념인 프로메테우스가 설치되고, 프로메테우스 서버 혹은 컨피그맵을 읽어서 이를 프로메테우스 설정으로 적용해서 변경되는 동작은 변함이 없습니다. 추가로 저희가 제공해드리는 edu 헬름 차트는 프로메테우스 커뮤니티의 차트를 교육 목적으로 쉽게 사용하고자 차트를 포크한 것이기에 프로메테우스 커뮤니티 차트를 사용하셔도 강의에서 사용했던 스크립트는 차트 버전(v2.34)에 맞게 호환이 되어있는 구성입니다. 따라서 구성하시기 편한 도구 혹은 조직내에서 그라운드 룰로써 사용을 권장하는 도구로 프로메테우스를 구성하시면 될 것 같습니다.
- 0
- 2
- 283
Q&A
operator alertmanager 연결 관련 문의
안녕하세요.현재 여러 프로메테우스 인스턴스에서 하나의 Alertmanager를 사용하여 알림을 보내고자 하는 환경을 구성하려고 하시는 것으로 이해했습니다. 이러한 구성에 대해 관심이 있는 분들을 위해 일반적인 구성 방법을 설명드리겠습니다.실무에서는 일반적으로 하나의 프로메테우스 인스턴스에 하나의 Alertmanager를 연결하는 방식을 사용합니다. 여러 프로메테우스를 통합하여 하나의 프로메테우스로 데이터를 집계한 후, 이 통합된 프로메테우스에서 Alertmanager로 알림을 전달하는 방법도 많이 사용됩니다. 이를 위해 Grafana Mimir, Prometheus Agent 모드, remote_write/remote_read 등의 방법을 고려해보실 수 있습니다.현재 구성하신 환경에 대해 몇 가지 점검해보시면 좋을 것 같습니다.프로메테우스 설정에서 Alertmanager 설정이 제대로 동기화되었는지 확인합니다.알림 규칙(alert-rule)이 적용되었고, 알림이 발생할 때 Alertmanager로 제대로 전달되는지 확인합니다. 이를 위해 Prometheus와 Alertmanager의 로그를 확인해보시는 것도 좋습니다.제가 드린 가이드가 강의 외 실습 환경에서는 쿠버네티스 클러스터 버전, 네트워크, 보안 정책 등 다양한 요인으로 인해 동작이 달라질 수 있습니다. 그에 따라 일부 모호한 영역의 트러블슈팅 가이드를 제공하기 어려운 점 양해 부탁드립니다.경우에 따라서, 다른 구현 방법을 고려해보시는 것도 좋은 방법이 될 수 있습니다.감사합니다.
- 0
- 1
- 227
Q&A
helm으로 프로메테우스 설치 시 PVC 관련 질문
안녕하세요 김연규 님쿠버네티스의 pvc가 생성 될 때 storageclass를 통해서 pv를 프로비저닝 하고 있습니다. 이 때 사용되는 프로비저닝 설정을 관리하는 것이 바로 storageclass 인데요. storageclass의 경우 애너테이션을 통해서 아무런 설정없이 바로 사용할 default storageclass를 설정할 수 있습니다. [1]현재 실습에서는 2.1 에서 vagrant up으로 실습환경을 구성할 때 위와 같은 설정이 적용되어 있기 때문에, 명시적으로 pvc에서 사용할 storageclass를 지정하지 않아도 nfs를 통해서 pv 설정이 가능한 것입니다.관련하여 아래의 코드와 참고자료를 확인해보시면 이해에 도움이 되실 것 같습니다.코드https://github.com/SeongJuMoon/_Lecture_prom_learning.kit/blob/d447c21a64bc35d6c0570716eb550c83fb118d7a/ch2/2.1/extra-k8s-pkgs.sh#L45C1-L45C99kubectl annotate storageclass managed-nfs-storage storageclass.kubernetes.io/is-default-class=true참고자료[1] https://kubernetes.io/docs/concepts/storage/storage-classes/#default-storageclass 학습에 도움이 되시길 바랍니다.감사합니다.
- 0
- 2
- 453
Q&A
kube-prometheus 란 무엇인가요?
안녕하세요 mc1.shin 님kube-prometheus 레포지토리는 prometheus-operator를 활용해서 쿠버네티스 내부를 모니터링하는 모니터링 설정(YAML), 그런 설정들을 반복적으로 만드는 템플릿 도구(jsonnet), 이를 적용하기 위한 문서(docs)가 담긴 레포지토리입니다. 따라서 문서 레포(kube-prometheus) 원본은 https://github.com/prometheus-operator/prometheus-operator 에서 빌드된 것이므로, 이미지 자체는 편하신 곳에서 다운로드 받아 구성하시면 됩니다.내려받은 두 곳에서의 오퍼레이터 동작이 다른 경우 오퍼레이터 버전에 따른 동작 차이 일 수 있으니 강의에서 제공드린 버전의 오퍼레이터를 설치하시길 권고드립니다. 감사합니다.문성주 드림
- 0
- 1
- 273