분류 전체보기 1190

[highlight.js] 코드 블럭 구문 강조 적용

highlight.js 프로그래밍 언어와 테마에 맞게 코드 블록 내 코드의 구문을 강조해주는 JavaScript 라이브러리 의존하고 있는 프레임워크가 없으며 서버와 브라우저 모두 사용할 수 있다. 프로그래밍 언어를 자동으로 감지하여 구문 강조를 시도한다. 공식 사이트 : https://highlightjs.org/ 사용 방법 1. highlight.js 데모 페이지에서 원하는 스타일을 선택한다. 데모 페이지 : https://highlightjs.org/static/demo/ 공식 사이트에서 파란색으로 표시한 박스를 클릭하여 이동할 수도 있다. 2. HTML에 원하는 스타일의 CSS, JS 파일을 삽입한 후 스크립트를 호출한다. (CDN 호스팅 또는 직접 업로드) 기본적으로 포함된 언어 외의 다른 언어의..

기타 2022.06.01

[Helm] kube-prometheus-stack / Grafana Persistence 활성화

쿠버네티스 클러스터 리소스의 모니터링 목적으로 Grafana와 Prometheus를 설치해서 사용하고 있다. 다만, 서버 장애 또는 업그레이드 시 데이터가 휘발되고 있어 확인해보니 persistence 설정이 되어 있지 않았다. 이 글에서는 kube-prometheus-stack helm chart를 이용해 Grafana Persistence 활성화하는 방법을 정리한다. kube-prometheus-stack 클러스터에 Grafana와 Prometheus를 한 번에 설치할 수 있는 helm chart 기존에는 prometheus-operator라는 이름으로 사용했다. Github : kube-prometheus-stack 설치 방법 설치 방법을 간단히 정리한다. 1. helm chart 저장소 추가 he..

Grafana 2022.05.31

[JXplorer] Ldap 브라우저 설치 및 사용

JXplorer 크로스 플랫폼 LDAP 브라우저 및 편집기 범용 LDAP 클라이언트로, 표준 LDAP 디렉터리, LDAP 또는 DSML 인터페이스의 디렉터리 서비스를 검색하고 읽고 편집할 수 있다. Java로 개발되었으며, 무료 오픈 소스 또는 보고, 관리, 보안 도구가 내장된 JXWorkBenck Enterprice 번들로 사용할 수 있다. 다운로드 및 설치 오픈 소스 버전을 사용한다면 Base JXplorer 항목에서 OS 버전에 맞게 설치 프로그램을 다운로드한다. 다운로드 페이지 : http://jxplorer.org/downloads/users.html 내 경우에는 Windows를 받았다. 다운로드를 완료했다면, 설치 프로그램을 실행시켜 설치를 완료한다. 라이센스, 설치 경로 확인 후 Next만 ..

기타 2022.05.30

[helm] 업그레이드, 롤백

Helm Chart/Release로 설치한 애플리케이션의 변경하려고 한다. 업그레이드 과정에 필요한 명령어를 정리해둔다. 업그레이드 업그레이드할 release의 이름, 사용할 chart, 필요하다면 values.yaml을 지정한다. helm upgrade [flags] # -f : yaml 파일 또는 url로 values 지정. 복수 설정 가능 # -n : helm release를 생성한 네임스페이스 # --dry-run : 업그레이드 시뮬레이션. 실제 반영하지 않음 # 예시 helm upgrade -f values.yaml -n notebook docs /path/chart 업그레이드 성공 시 이름과 네임스페이스, 버전, template/NOTES.txt의 내용이 출력된다. 업그레이드 시뮬레이션 실제로..

Kubernetes 2022.05.29

[import] 모듈 가져오기

모듈 (Module) 함수나 변수 또는 클래스를 모아 놓은 파일 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일 이 글에서는 모듈을 import 하는 방법을 몇 가지 정리한다. import 문 모듈 전체를 가져온다. import # 예시 import itertools import math, sys 여러 모듈을 가져올 때는 모듈을 쉼표로 구분하여 나열한다. 사용할 때는 모듈 뒤에 점을 찍어 원하는 함수, 클래스를 지정한다. import ~ as 문 모듈 이름을 다르게 지정한다. import as # 예시 import itertools as it from ~ import 문 전체 모듈이 아니라 지정한 일부만 가져온다. from import # 예시 from itertools import ..

Python 2022.05.28

[Jenkins] SSH 원격 서버에서 쉘 실행하기

개요 어떤 서버에 위치하고 있는 쉘 스크립트를 Jenkins를 이용해 실행시키려고 한다. 물론 Jenkins가 동작하고 있는 서버에 스크립트를 옮기는 것을 먼저 생각했지만, 이 글의 Jenkins는 쿠버네티스 환경에서 동작하고 있어 적용이 쉽지 않았다. 다행히 SSH 플러그인을 이용하면 Jenkins가 원격 서버에 SSH로 연결하여 쉘을 실행할 수 있다고 한다. 크게 아래와 같은 절차로 적용할 수 있다. SSH 플러그인 설치 Credential 설정 SSH Remote Host 추가 프로젝트에 적용 순서대로 방법을 정리한다. 1. SSH 플러그인 설치 Jenkins 관리 > 플러그인 관리로 이동하여 SSH 플러그인이 설치되어 있는지 확인한다. 설치되어 있지 않으면 설치한다. 2. Credential 설정..

Jenkins 2022.05.27

[Jenkins] 쉘 실행(Execute shell) 프로젝트 생성 및 실행

Jenkins의 기본적인 프로젝트 생성 방법을 정리하기 위해 쉘을 실행하는 프로젝트를 생성하고 실행해보려고 한다. 생성 방법 1. 왼쪽 메뉴에서 새로운 Item 클릭 2. 이름과 아이템 유형 설정 유형은 Freestyle project를 선택한다. OK를 클릭하면 빈 프로젝트가 생성된 것을 볼 수 있다. 이 화면은 프로젝트의 구성 페이지에 해당한다. 3. 프로젝트 구성 페이지에서 Build > Add build step > Execute shell 클릭 4. 실행할 명령어 작성 후 저장 실행 프로젝트 메뉴에서 Build Now를 클릭한다. 아래의 Build History에서 빌드 진행 및 성공 여부를 확인할 수 있다. 실행 결과 확인 빌드 히스토리에서 결과를 확인할 빌드 번호를 선택한다. Console ..

Jenkins 2022.05.26

[Git] remote update

먼저 자주 사용하는 git fetch 명령어부터 간단히 정리한다. git fetch git fetch # --all : 모든 원격 브랜치 업데이트 원격 저장소의 최신 이력을 확인하는 명령어 가져온 최신 커밋 이력은 이름 없는 브렌치로 로컬에 가져오며, FETCH_HEAD라는 이름으로 checkout할 수 있다. fetch로 확인한 최신 이력을 로컬 저장소로 병합할 때는 pull 또는 merge를 실행한다. 옵션 없이 사용하면 로컬 저장소에 존재하는 브랜치에 대해서만 업데이트한다. 모든 원격 브랜치 이력을 업데이트하고 싶다면 --all 옵션을 사용한다. git remote update 원격 저장소의 최신 이력을 확인하는 명령어 git remote update 원격 저장소의 모든 브랜치에 대한 이력을 확인한..

Git | GitLab 2022.05.25

[kill] 프로세스에 시그널 전달

시그널(SIGNAL) 프로세스에게 이벤트의 발생을 알리기 위해 전달되는 소프트웨어 인터럽트의 일종 사전적인 의미로 '신호'를 뜻하며, 리눅스에서는 프로세스끼리 서로 통신할 때 사용한다. 시그널을 발생시키는 이벤트는 Hardware Exception, Software Condition, 사용자 입력, 시스템 콜 등이 해당된다. 💡 인터럽트 (Interrupt) 갑자기 발생하는 비동기적인 통지나 이벤트 하드웨어 관점에서는 하드웨어의 변화를 감지해서 외부 입력으로 전달되는 전기 신호 인터럽트가 발생하면 프로세스는 동작을 중지하고 인터럽트 벡터와 핸들러를 실행하여 하드웨어 변화를 처리한다. 시그널은 비신뢰성과 대기하지 않는다는 성질을 가진다. 비신뢰성 : 시그널을 보낸 후 시그널의 도착했는지 확인하지 않는다. ..

Linux 2022.05.24

[whois] 도메인 세부 정보 확인

whois 인터넷 도메인 이름, IP 주소 등 인터넷 자원의 소유자와 범위를 검색하기 위한 통신 프로토콜 및 ICANN이 관여하는 도메인 관리 프로그램 💡 ICANN 국제 인터넷 주소 관리기구 (Internet Corporation for Assigned Names and Numbers) 인터넷 DNS의 기술적 관리, IP 주소 공간 할당, 프로토콜 파라미터 지정, 루트 서버 시스템 관리 등의 업무를 조정한다. 리눅스에서는 whois 라는 명령어를 통해 whois 서버에 검색을 수행할 수 있다. 설치 Ubuntu apt update apt install whois CentOS yum install whois 명령어 출력 정보 형식은 사용되는 WHOIS 서버에 따라 다르다. whois # 예시 whois ..

Linux 2022.05.23