기본 콘텐츠로 건너뛰기

[Kubernetes - Operator] Kubernetes상의 Operator 나름대로 정리

댓글

  1. Prometheus의 Configuration file을 업데이트하고 Prometheus를 재 실행 시킨다.
    이부분에서 앞에 prometheus와 뒤에 prometheus가 같은걸 의미하나요?
    저 위의 그림에서 crd라고 말하신 점선안의 prometheus를 말하는건지..점선 밖의 prometheus를 말하는건가요? 그리고 이 둘의 prometheus차이는 뭔지요?

    답글삭제
    답글
    1. Prometheus Server라고 표현된 것이 실제 동작하고 있는 Pod를 의미하고, CRD 표시된 점선 내의 Prometheus는 정보를 관리하고 있는 커스텀 리소스입니다.
      따라서 ServiceMonitor가 추가되면 Operator가 변경을 감지하고 Prometheus 커스텀 리소스 정보를 기준으로 Configuration file을 갱신하고 Prometheus Server를 재실행한다고 이해하시면 됩니다.

      삭제

댓글 쓰기

이 블로그의 인기 게시물

OData 에 대해서 알아보자.

얼마 전에 어떤 회사에 인터뷰를 하러 간 적이 있었다. 당시 그 회사는 자체 솔루션을 개발할 기술인력을 찾고 있었고 내부적으로 OData를 사용한다고 했다. 좀 창피한 이야기일 수도 있지만 나름 기술적인 부분에서는 많은 정보를 가지고 있다고 했던 것이 무색하게 OData란 단어를 그 회사 사장님에게서 처음 들었다. 작고, 단순한 사이트들만을 계속해서 작업을 하다 보니 어느덧 큰 줄기들을 잃어버린 것을 느끼기 시작했다. 명색이 개발이 좋고, 기술적인 기반을 만들려고 하는 인간이 단어조차도 모른다는 것은 있을 수 없는 것이라서 다시 새로운 단어들과 개념들을 알아보는 시간을 가지려고 한다. OData (Open Data Protocol) 란? 간단히 정리하면 웹 상에서 손쉽게 데이터를 조회하거나 수정할 수 있도록 주고 받는 웹(프로토콜)을 말한다. 서비스 제공자 입장에서는 웹으로 데이터를 제공하는 방식으로 각 포탈 사이트들이 제공하는 OPEN API 포맷을 독자적인 형식이 아니라 오픈된 공통규약으로 제공 가능하며, 개발자는 이 정보를 다양한 언어의 클라이언트 라이브러리로 어플리케이션에서 소비할 수 있도록 사용하면 된다. 공식 사이트는 www.odata.org 이며 많은 언어들을 지원하고 있다. 좀더 상세하게 정의를 해 보면 OData는 Atom Publishing Protocol  (RFC4287) 의 확장 형식이고 REST (REpresentational State Transfer) Protocol 이다. 따라서 웹 브라우저에서 OData 서비스로 노출된 데이터를 볼 수 있다. 그리고 AtomPub 의 확장이라고 했듯이 데이터의 조회만으로 한정되는 것이 아니라 CRUD 작업이 모두 가능하다. Example 웹 브라우저에서 http://services.odata.org/website/odata.svc 를 열어 보도록 하자. This XML file does not appear to have any style in...

C# 에서 Timer 사용할 때 주의할 점.

예전에 알고 지내시던 분의 질문을 받았다. Windows Forms 개발을 하는데, 주기적 (대략 1분)으로 데이터 요청을 하는 프로그램을 작성하기 위해서 Timer 를 사용하는데, 어떤 기능을 처리해야 하기 때문에 Sleep 을 같이 사용했다고 한다. 여기서 발생하는 문제는 Sleep 5초를 주었더니, Timer 까지 5초 동안 멈춘다는 것이다. Timer 라는 것은 기본적으로 시간의 흐름을 측정하는 기능이기 때문에 Sleep 을 했다고 해서 Timer 가 멈추는 일은 생겨서는 안된다. 그러나 실제 샘플을 만들어 보면 ... Timer 가 Sleep 만큼 동작이 멈추는 것을 확인할 수 있다. Windows Forms 는 UI Thread 를 사용하는 것으로 최적화 되어 있으며 여기서 Timer 를 쓰면 UI Thread 에 최적화된 System.Windows.Forms.Timer 가 사용된다. 여기서 문제의 발생이 시작되는 것이다. Sleep 을 사용하게 되면 UI Thread 가 Sleep 이 걸리기 때문에 여기에 속한 Timer 까지도 멈추는 것이다. 이런 문제를 해결하기 위해서는 System.Threading.Timer 를 사용해야 한다. 이 Timer 는 별도의 Thread 에서 동작하기 때문에 Sleep 의 영향을 받지 않는다. 언뜻 보면 쉬운 해결 방법인 것 같지만 Thread 가 분리되었기 때문에 Timer 가 돌아가는 Thread 에서 UI Thread 의 메서드나 컨트롤에 접근하기 위해서는 별도의 명령을 사용해야 하는 문제가 존재한다. 자~ 그럼 여기서 Timer 에 대해서 다시 한번 정리해 보도록 하자. .NET 에서 제공하는 Timer 들 .NET 에서는 기본적으로 3가지 Timer를 제공하고 있다. (MSDN) System.Windows.Forms.Timer - 사용자가 지정한 간격마다 이벤트를 발생시키며 Windows Forms 응용 프로그램에서 사용할 수 있도록 최적화 되어 있다. System...

[VSIX] Visual Studio 확장에 대해서... #1 프로젝트 생성

만들려고 하는 나만의 프레임워크를 운영하기 위한 필수적인 지식이기 때문에 아주 기초적인 부분부터 하나씩 정리를 하고 구체화시키기 위한 진입점으로 삼기로 한다. 이번에 정리할 내용은 다음과 같은 상황들을 다루게 된다. Visual Studio Extension 프로젝트 생성 템플릿 추가와 템플릿을 사용하기 위한 Wizard 구성 Visual Studio 확장을 위한 Event 와 Command 연결 사용자 정의 편집기 추가 Visual Studio Extension Solution 만들기 우선 Visual Studio 를 확장하기 위해서는 반드시 Visual Studio SDK 가 필요하므로 여기서 다운로드하여 설치를 하도록 한다. (참고로 자신의 Visual Studio 버전에 맞게 설치하면 된다) Create Package Solution Visual Studio를 실행하고 "새 프로젝트" 를 선택하고 아래의 그림과 같이 "Visual Studio Package" 프로젝트를 선택하도록 한다. 프로젝트의 이름과 경로는 자신에 맞도록 설정을 한다. VSIX 프로젝트 형식이 있지만 여러 가지를 통합해서 처리하는데는 Package를 사용하는 것이 더 효율적(?)인 것 같아서 Package를 생성하도록 한다. "확인" 버튼을 누르면 다음과 같이 순차적으로 패키지 구성 마법사가 나타난다. "Next" 버튼을 누르면 다음과 같이 언어 선택 부분이 나타난다. C# 언어를 선택하고 서명 키는 새로 생성하는 것으로 선택한 후에 "Next" 버튼을 누르면 Package 정보를 설정하는 부분이 나타난다. 패키지 정보를 입력하고 "Next" 버튼을 누르면 패키지 옵션을 설정하는 부분이 나타난다. 이 부분은 하나씩 추가할 것이기 때문에 모두 선택하지 않는 상태로 놔두도록 한다...