본문 바로가기

전체 글

(144)
container와 kubernetes 기술 흐름 kubernetes는 컨테이너 기술을 기반의 운영 기술이 포함된 컨테이너 오케스트레이션이다.현재 kubernetes 호환성에 정도가, 컨테이너 기술의 보급률에 큰 영향을 미친다.
Kubernetes 설치할 OS 고르기, Linux 흐름과 특징 Kubernetes를 설치하기 전에 어떤 OS에 설치해야 할 지 선택해야 한다.크게 무료 버전인 debian버전과, 안정성과 기술 지원이 있는 RedHat버전을 사용한다.기업에서는 RedHat버전을 많이 사용한다.RedHat이 IBM 기업으로 인수 되면서, RHEL 사용율과 이익을 높이기 위한, 무료 CentOS 지원이 종료되었다. 변화된 상황에서 4가지 해결 방법이 존재한다.
DevOps 필요성 현대는 소비자의 빠른 요구 사항을 수용할 수 있는 MSA 구조의 개발 형태이다.하나의 어플리케이션 기능 별로 개발팀을 나눠서, 기술 고도화, 빠른 릴리즈를 통해 소비자의 만족도를 높일 수 있다.하지만, 운영팀 입장에서, 나눠진 서비스 릴리즈들과 다른 운영 방식은 스트레스로 다가온다. 그에 따라, 운영팀의 업무 강도가 늘어나고, 개발팀과의 소통 불화가 발생한다. 그로 인해, 서비스 자체에 대한 퀄리티가 떨어지고, 원래 목표로 했던 MSA구조를 통한 소비자 만족도는 오히려 떨어지게 된다.이 문제를 해결하기 위한, 집단이 DevOps팀이다. DevOps 팀은 릴리즈, 운영, 팀 간의 소통을 위한 자동화 시스템을 만들어, 개발자와 운영자의 업무 효율 근무 쾌적도를 올려준다.
데이터 베이스 서버 백업 쉘스크립트 백업 정책서버는 언젠가 멈춘다. 그 순간을 대비하기 위해 중요한 설정 정보나 데이터를 다른 곳에 저장을 해두어야 한다.정책 내용 방법무엇을웹: 웹소스, 서버 주요 설정 데이터베이스: 데이터, 서버 주요 설정  스토리지: 서버 주요 설정tar볼로 묶어서 보관 db덤프는 maria전용 백업툴 mariabackup을 사용  스토리지는 데이터 용량이 크기 때문에 향후 이중화  언제하루에 한번 트래픽이 가장 적은 시간대새벽 3시~5시어디에스토리지 BACKUP 디렉토리  각 서버 이름(hostname)디렉토리 | /mnt/BACKUP/서버의호스트이름 | 백업 과정과 스크립트#! /bin/bash## 변수설정HOST="${/usr/bin/hostname}"LOG="/tmp/backup.log"PUSH="/root/S..
웹 로그가 쌓여 디스크 꽉 차서 더 이상 로그를 생성하지 못하는 문제 0. 문제 상황웹서버 접속자 급증으로 웹 로그가 급증, 디스크 풀 발생.디스크 풀로인해 다른 작업을 진행하지 못함.1. 먼저 용량을 차지하는 디렉토리를 찾기/ (root)로 이동하고du -h --max-depth=1 | grep G (/에서 한단계 아래 깊이 디렉토리 별 저장 사용률을 출력 G단위 큰 디렉토리만 출력하기)du를 통해 찾아보니, /var/log/nginx/VWS.access.log가 파일에 로그가 계속 쌓여 디스크를 다 차지한다는 것을 발견삭제하여 임시적 조치 완료하기df 명령어와 du 명령어의 차이는 아래 글 참고df 명령어는 리눅스 시스템 전체의 디스크 사용량을 확인 / du 명령어는 특정 디렉토리를 기준으로 디스크 사용량을 확인df, du 명령어 차이점과 차이 발생 시 해결방법2. 로..
서버 장애 발생 시 확인해야 할 기본 절차 1. 시스템 부하 장애로드 에버리지가 cpu코어 개수보다 높은 경우 유저 요청에 대한 응답이 늦어짐cat /proc/cpuinfo 를 통해서 processor 번호를 보고 cpu 코어 수를 파악할 수 있다.uptime을 이용하여 loadaverage(1분, 5분, 15분)을 통해 cpu 사용 정도를 파악할 수 있다. 그러기 위해선 해당 서버의 cpu 코어수를 파악해야한다.loadaverage에 대한 좀더 자세한 설명은 아래 글을 확인.리눅스 시스템 모니터링의 필수 지표, Load Average2. 메모리 풀 장애메모리를 다 쓰고 스왑 영역까지 사용하여 시스템이 느려져 유저에게 응답이 느려짐free 명령어로 메모리 사용량을 파악할 수 있다.Swap 영역 swap은 물리 메모리가 부족할 경우를 대비해서 만들..
EC2와 docker-compose를 활용한 MSA 서버 배포 AWS와 Docker의 도움 없이, MSA 구조의 서버를 배포하려면, 시간이 얼마나 오래 걸릴지 상상할 수 도 없다.AWS 서비스를 이용하여, 클릭 몇 번만으로, Linux 서버와 IP를 빌릴 수 있고, Docker Engine을 이용해 하나의 yaml파일로 5개의 서버를 정의하고 작동시킬 수 있다.그래서 HTTP-MSA 구조를 가지고 있는 “영어 암기 서비스”를 AWS와 Docker의 도움을 받아, 손쉽게 배포하는 방법에 대해서 알아본다인프라-구성 방법 설명※ 서버는 크게 프론트 페이지를 제공하는 UI 서버  백엔드 처리를 하는 API 서버, MySQL  응답 시간이 오래걸리는 로직을 대신 처리해주는 PlusAPI서버와 두 API 서버 연결해주는 Kafka로 구성된다.1. EC2에 Elastic IP ..
파일관련 명령어 2 lesscat과 달리 상하로 커서 이동이 가능한 파일보기ln(Link)지정한 파일에 대한 심볼릭링크나 하드링크를 생성(ln 옵션 [링크의원본파일패스/이름] [링크파일패스/이름])옵션 -s 심볼릭링크를 생성, 지정하지 않으면 하드링크를 생성심볼릭링크는 윈도우의 바로가기를 의미, 원본 파일을 삭제하면 사용 불가하드링크는 원본 파일을 복사하는 것과 유사한 작동, 다만, 한쪽을 수정하게 되면, 다른 쪽도 함께 수정된다. 원본 파일을 삭제하는 경우, 하드링크는 inode를 통하여 원본파일이 저장된 주소로 데이터를 찾아내어 원본파일이 지원지지 않고 유지된다.paste지정한 파일들의 행을 읽어 탭으로 구분하여 병합dd(Dataset Dafinition)블록 단위로 데이터셋을 정의하여 파일을 쓰고 읽음(dd [if=인..

반응형