Develop/infra 9

M1 MAC OS Rancher desktop 사용

이전에 docker-compose를 이용하여 ELK를 구성하고 동작하는 예제에 대해 진행했었다. 그때의 예제는 docker-desktop을 이용하여 예제를 진행하였는데 docker-desktop은 현재 기업을 상대로는 유료이다. 2020년 8월 31일부터 도커 데스크톱 이용자를 대상으로 유료 요금제 가입을 유도하기 시작했다. 250명 이상의 직원이 속한 매출 1,000만 달러 이상의 도커 데스크톱 고객은 2022년 1월 31일까지 유료 구독에 등록해야 애플리케이션을 계속 사용할 수 있다. 단 소규모 기업, 개인용, 교육, 그리고 “비상업적 오픈소스 프로젝트” 분야의 고객들은 계속 무료로 이용할 수 있다. 회사에 따르면 무료 대상 고객은 도커 사용자 기반의 약 절반 정도에 해당한다. 원문보기 개인적으로 사..

Develop/infra 2023.01.04

Datadog 이란?

Datadog 이란? 클라우드 규모 인프라에 대한 완전한 가시성 확보 웹 및 모바일 애플리케이션의 사용자 여정에 대한 종단 간 가시성 확보 분산 클라우드 환경에서 네트워크 트래픽 흐름 시각화 실시간으로 보안 위협 및 구성 오류 자동 감지 Datadog은 Docker, containerd를 포함한 K8s 클러스터 구성요소 및 워크로드, 네트워크 트래픽, 엔드포인트 모니터링 등을 지원하는 종합 모니터링 서비스이다. Datadog Kubernetes 설정 - datadog-agent : 데이터독 에이전트는 각 노드의 메트릭, 분산 추적 및 로그를 수집하고 서버 리소스(CPU, Memory등) 메트릭을 자동으로 수집 - datadog-node-agent : daemonset으로 각 노드 마다 실행되며 노드 레벨..

Develop/infra 2021.08.23

Nginx 튜닝, 보안 설정 및 Docker-compose 실행

Nginx.conf 설정 worker_processes는 CPU 갯수, worker_connections는 1프로세스당 클라이언트 갯수를 넣으면 된다. access.log 파일을 json 형식으로 출력하였다. json_combined gzip 옵션 on 설정을 해주었다. server_tokens off 설정을 통해 버전이 노출되지 않도록 한다. client_max_body_size 를 설정하여 파일 업로드 크기 설정을 한다. X-Frame-Options, X-Content-Type-Options, X-XSS-Protection 옵션을 설정하여 보안을 추가하였다. charset은 utf-8로 설정한다. "/" 요청은 GET 메소드만 허용하도록 하였다. js/css/image 파일은 access 로그에서 제..

Develop/infra 2020.12.16

Docker Compose 이용한 ElasticSearch Cluster, Kibana 구성

2020-12-15 현재 공식 ElasticSearch, Kibana Docker 이미지 최신 버전은 7.10.1 이다. ElasticSearch 7.10.1 Docker Compose 가이드에 따라 클러스터 구성을 하고 Kibana 설정을 한다. docker 컴포즈를 실행하기 전에 docker engine 메모리가 4GB 이상이 설정되어 있는지 확인해야한다. 4GB 이하로 설정이 되어있다면 정상적인 실행이 되지 않는다. 최종 구성은 아래와 같다. ElasticSearch Master 노드 1 ElasticSearch Data 노드 2 Kibana 1 version: '2' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.10..

Develop/infra 2020.12.15

Kubernetes 개념

리소스 정의 리소스 용도 노드 컨터이너가 배치되는 서버 네임스페이스 쿠버네티스 클러스터 안의 가상 클러스터 파드 컨테이너의 집합 중 가작 작은 단위. 컨테이너의 실행 방법 정의 레플리카셋 같은 스펙을 갖는 팟을 여러개 생성하고 관리하는 역할 디프로이먼트 레플리카 셋의 리비전 관리 서비스 팟의 집합에 접근하기 위한 경로 정의 인그레스 서비스를 쿠버네이스의 클러스터 외부로 노출 컨피그맵 설정 정보를 정의하고 팟에 전달 퍼시스턴트볼륨 팟에서 사용할 스토리지의 크기 및 종류 퍼시스턴트볼륨클레임 퍼시스턴트 볼륨을 동적으로 확보 스토리지클래스 퍼시스턴트 볼륨이 확보하는 스토리지 종류를 정의 스테이트풀셋 같은 스펙으로 모두 동일한 팟을 여러개 생성하고 관리 잡 상주 실행을 목적으로 하지 않는 팟을 여러개 생성하고 정..

Develop/infra 2020.11.24

MacOS Kubernetes 사용하기

MacOS 에서 Kubernetes를 사용하기 위해 Docker Hub 프로그램을 다운받고 설치를 한다. Docker 프로그램 설치가 완료되면 Preferences > Kubernetes 메뉴 화면으로 들어간다. 위 이미지와 같이 Enable Kubernetes, Show System Containers를 체크 후 Apply & Restart 버튼을 클릭한다. 설치가 완료되면 화면 하단에 Kubernetes(running) 표시가 나타난다. Kubectl 설치 MacOS 에서는 kubectl을 brew 패키지 관리자를 통해 설치하면 된다. brew install kubectl DashBoard 설치 Kubernetes DashBoard 를 통해 Kubernetes 현재 상태를 쉽게 파악할수있다. 대쉬보드..

Develop/infra 2020.11.23

Docker Compose를 사용한 Jenkins master/worker(slave) 설정

docker-compose 를 사용하여 jenkins 설정을 한다. master 인스턴스에서는 관리 기능, 작업 지시를 실행하고 worker(slave) 인스턴스에서는 실제 작업을 진행한다. 이미지는 jenkins 공식 이미지를 사용하며 Master(docker-compose-master.yaml), Worker(docker-compose-worker.yaml) 파일 두개를 이용하여 설정을 한다. jenkiins Docker Hub hub.docker.com jenkins-agent Docker Hub hub.docker.com Master Yaml docker-compose 3버전, volume을 지정, 컨테이너명은 jenkins-master로 설정한 후 docker-compose-master.yaml..

Develop/infra 2020.11.23

Docker 명령어 모음

Docker 명령어 모음집 type1 type2 명령어 샘플 로그인 login docker login -u {유저네임} -p {패스워드} docker login -u AA -p BB 이미지 빌드 docker image build -t {이미지명:태그명} {Dockerfile 경로} doker image build -t hello-world:latest . PULL docker image pull {이미지명:태그명} docker image pull hello-world:latest 목록 조회 docker image ls -f 옵션 (도커파일 이름으로 빌드) docker image build -f {도커파일} -t {이미지명:태그명} {도커파일 경로} docker image build -f Dockerfil..

Develop/infra 2020.11.23