DevOps 22

[Docker] CentOS에서 Docker Install

개요 CentOS 7.6에서 Docker Install 과정을 정리하겠습니다. Docker Install 1. yum-utils를 제공하는 패키지를 설치 및 Repository를 설정 $ sudo yum install -y yum-utils $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 2. Docker Engine Install $ sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin 3. 특정 버전의 Docker Install $ sudo yum install docker-ce-18.09.1 ..

DevOps/Docker 2022.09.21

[Docker] Django + Gunicorn image build

개요 Django + Gunicorn에 대한 docker image를 생성할 것입니다. 실행 전 Django 및 Gunicorn 설치 후 UI 띄우는 것 까지 진행하고 오십시오. https://twodeveloper.tistory.com/105 [Django] Django Install 개요 Django를 설치하고 MariaDB와 연동 및 Gunicorn을 통해 bind 시켜 Web UI에 띄우는 것 까지 진행하도록 하겠습니다. 진행환경 OS : CentOS 7.6 Python : 3.6 Django : MariaDB : Django Install 1. Python In.. twodeveloper.tistory.com 1. requirement.txt을 생성합니다. (venv) pip freeze > r..

DevOps/Docker 2022.09.21

[kubernetes] namespace

■ namespace 란? - 클러스터를 여러개의 논리적인 단위로 나눠서 사용 - API가 하나이지만 목적에 맞춰 여러개로 분리 - namespace를 사용하지 않으면 자동으로 'default namespace' 로 동작 · namespace 조회 $ kubectl get namespace --- NAME STATUS AGE default Active 1d kube-node-lease Active 1d kube-public Active 1d kube-system Active 1d · 쿠버네티스 초기 namespace는 총 4개 다음과 같다. default 다른 namespace가 없는 object를 위한 기본 namespace kube-system 쿠버네티스 시스템에서 생성한 object를 위한 name..

DevOps/Kubernetes 2022.08.24

[Kubernetes] 쿠버네티스 아키텍처

■ Kubernetes Architecture Control Plane Component 1. kube-apiserver API Server는 쿠버네티스 API를 노출하는 쿠버네티스 Control Plane Component 수평으로 확장되도록 디자인 되어 더 많은 인스턴스를 배포해서 확장할 수 있음 여러 kube-apiserver 인스턴스를 실행하고, 인스턴스간의 트래픽을 균형있게 조절 가능 2. etcd 모든 클러스터 데이터를 담는 쿠버네티스 뒷단의 저장소로 사용되는 일관성, 고가용성 키-값 저장소 'key:value' 형식으로 node1, node2에 대한 정보를 저장 상태정보와 컨테이너가 동작중인 상태, 이미지 상태에 대한 정보를 저장 3. kube-scheduler node가 배정되지 않은 새로..

DevOps/Kubernetes 2022.08.23

[Kubernetes] 쿠버네티스란?

■ Kubernetes (K8s) 란? - 쿠버네티스는 컨테이너화 된 워크로드와 서비스를 관리하기 위한 '이식성'이 있고, '확장가능'한 Open Source Platform ※ 워크로드란? - 쿠버네티스에서 구동되어지는 애플리케이션 ■ Kubernetes 가 탄생하게 된 배경 1. Traditional Deployment - Dedi Server - 보시는 바와 같이 애플리케이션 물리 서버에서 실행 - 하나의 물리 서버에서 여러 애플리케이션의 리소스 한계를 정의할 방법이 없음, 따라서 리소스 할당에 문제가 발생 - 리소스가 충분히 활용되지 않는다는 점에서 확장 가능하지 않음 - 물리 서버를 많이 유지하기 위해서는 조직에게 많인 비용이 발생 2. Virtualized Deployment - Traditi..

DevOps/Kubernetes 2022.08.23

[Monitoring] Thanos

■ Thanos란? Prometheus의 확장성, 가용성, Retention 문제 등 부족한 부분을 보완하여 기능을 제공하기 위해 Thanos가 탄생 ■ Thanos 특징 ▶ Thanos에서 말하는 특징은 총 4가지로 다음과 같음 1. Global Query View · Prometheus Server 및 Cluster에서 Prometheus Metric Query를 화성화해서 Prometheus 설정을 확장 2. Unlimited Retention · 원하는 Scale이 가능한 Object Storage System을 통해 Metirc을 무제한으로 저장 가능 - GCP, S3, Azure, Swift 및 Tencent COS를 지원 3. Prometheus Compatible · Prometheus와 ..

DevOps/Monitoring 2022.04.07

[Monitoring] Grafana

■ Grafana란? · Grafana는 Open Source Monitoring 시각화 Tool · Grafana를 사용하면 저장된 위치에 상관없이 Metric을 Query, 시각화, Alert을 이해 가능 · Dashboard 생성, 탐색, 공유 가능 · Data 중심의 시각화 제공 · Plug 가능한 Data Source Model을 가지고 있으며 Graphite, Pormetheus, Elasticsearch, OpenTSDB, InfluxDB와 같은 시계열 Database를 풍부하게 지원 · MySQL, Postgres와 같은 SQL Database와 같은 Cloud Monitoring 공급 업체를 기본적으로 지원 · 많은 장소의 Data를 단일 Dashboard로 결합할 수 있는 유일한 도구 ..

DevOps/Monitoring 2022.04.07

[Monitoring] Prometheus

■ Prometheus란? · Prometheus는 Open Source Monitoring Tool · Metric 수집, 시각화, Alert, Service Decovery 기능 제공 · SoundCloud에서 탄생 · Kubernetes에 이어서 두번째로 CNCF Project 멤버로 추가 ■ Prometheus 특징 1. 차원 데이터 · 시계열은 지표 이름과 일련의 Key-Value 쌍으로 식별 · 다양한 Exporter를 통해 Service/System Metric을 수집 ex) Node Exporter는 CPU, Memory의 Metric 정보 수집 2. 강력한 검색 · PromQL을 기반으로 Graph, Table, Alert을 생성하기 위해 수집 된 시계열 데이터를 검색 가능 3. 시각화 ..

DevOps/Monitoring 2022.04.07