InfoGrab DocsInfoGrab Docs

Runbook

실행 가능한 Runbook, 자동화, 문제 해결 및 운영.

Runbook은 특정 시스템을 시작하거나 중지하거나 디버깅하거나 문제를 해결하는 등 특정 프로세스를 수행하는 방법을 문서로 정리한 절차 모음입니다. Jupyter Notebook 과 Rubix 라이브러리 를 사용하면 직접 실행 가능한 Runbook을 작성할 수 있습니다. 전통적으로 Runbook은 조건이나 시스템에 따라 의사 결정 트리 형태이거나 단계별 상세 가이드 형태였습니다. 최근 구현에서는 「실행 가능한 Runbook」 개념이 도입되어, 잘 정의된 프로세스와 함께 운영자가 미리 작성한 코드 블록이나 데이터베이스 쿼리를 특정 환경에서 실행할 수 있습니다. 실행 가능한 Runbook # GitLab Kubernetes 통합과 함께 제공되는 JupyterHub 애플리케이션에는 Nurtch Rubix 라이브러리가 포함되어 있어 DevOps Runbook을 간단하게 만들 수 있습니다. 일반적인 작업을 보여 주는 샘플 Runbook도 제공됩니다. Rubix를 사용하면 일반적인 Kubernetes 및 AWS 워크플로를 쉽게 만들 수 있지만, Rubix 없이 직접 만들 수도 있습니다. GitLab에서 이를 구현하는 방법에 대한 개요는 이 영상 을 참고합니다. 요구 사항 # 실행 가능한 Runbook을 만들려면 다음이 필요합니다. Kubernetes - 나머지 애플리케이션을 배포하려면 Kubernetes 클러스터가 필요합니다. Kubernetes 용 GitLab 에이전트 로 클러스터를 연결하는 것이 가장 간단한 방법입니다. Ingress - Ingress는 로드 밸런싱, SSL 종료, 이름 기반 가상 호스팅을 제공합니다. 애플리케이션의 웹 프록시 역할을 합니다. JupyterHub - JupyterHub 는 팀 전체의 노트북을 관리하는 다중 사용자 서비스입니다. Jupyter Notebook은 데이터 분석, 시각화, 머신 러닝에 사용하는 웹 기반 대화형 프로그래밍 환경을 제공합니다. Nurtch # Nurtch는 Rubix 라이브러리 를 만든 회사입니다. Rubix는 Jupyter Notebook 안에서 일반적인 DevOps 작업을 쉽게 수행하도록 도와주는 오픈 소스 Python 라이브러리입니다. Cloudwatch 지표를 그리거나 ECS/Kubernetes 애플리케이션을 롤링하는 작업이 코드 몇 줄로 줄어듭니다. 자세한 내용은 Nurtch 문서 를 참고합니다. GitLab에서 실행 가능한 Runbook 구성 # 앞에서 설명한 구성 요소와 미리 로드된 데모 Runbook을 사용해 GitLab에서 실행 가능한 Runbook을 구성하려면 다음 단계를 따릅니다. JupyterHub 용 OAuth 애플리케이션 을 생성합니다. Helm으로 JupyterHub를 설치 할 때 다음 값을 사용합니다. #----------------------------------------------------------------------------- # The hub.config.GitLabOAuthenticator section must be customized! #--