본문 바로가기

분류 전체보기

(121)
[nginx를 사용한 무중단배포] nginx를 사용하는 이유 안녕하세요 오늘은 무중단 배포에 대해 공부 중 알게된 지식을 적어보려합니다. 우선 무중단 배포란 서비스를 중단시키지 않고 서비스를 업데이트 하는 것을 말합니다. 예를 들어 네이버 메인 화면을 계속 보고있는데 F5로 새로고침 한 번 눌렀더니 업데이트된 메인화면이 나타나는 겁니다. 이 무중단 배포 방식에는 여러가지가 있는데 크게 세 가지가 있습니다. 1) 롤링 업데이트 2) 블루/그린 3) 카나리 이 세 가지에 대해서는 추후 자세히 다뤄보겠습니다. 본 글에서는 그 중 블루/그린 배포 방식을 실제 구현할 때 느낀 것들을 적어보려합니다. 우선 첫 번째 구성도 입니다. AWS EC2 인스턴스안에 컨테이너로 구성된 간단한 웹 서버입니다. NGINX가 로드밸런서 및 리버스 프록시 역할을 하고 있고 사용자의 트래픽을 ..
[코딩테스트 #5] 백준 10828 스택 - python 안녕하세요 코딩테스트 글은 오랜만입니다. 사실 코딩테스트를 다시 시작한건 보름정도 됐습니다만 블로그 업로드가 힘들어서 올리지 않고 있었어요 그 동안 바뀌게 된 점은 java가 아닌 python으로 코딩테스트를 준비하기로 했다는 것과 프로그래머스가 아닌 백준 코딩을 이용하고 있다는 점입니다. 오늘 풀어본 문제는 백준 10828 스택 문제 solved기준 실버 4 문제입니다. https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 � www.acmicpc.net 소..
[MSA와 Docker, Kubernetes의 개념 #1] 가상화 안녕하세요 오랜만입니다. 오늘은 도커와 쿠버네티스, 컨테이너 기본 개념을 정리하는 포스트를 작성해보려합니다. 이게 왜 등장했고 왜 쓰이는지에 대한 포스팅 시리즈입니다. 우선 모든 것을 설명하기 전에 가상화라는 개념을 알아야합니다. 저같은 경우 가상화가 뭐야? 라고 물었을 때 정확하게 대답하지 못했는데요 간단하게 하나의 장치를 여러 개처럼 동작 시키거나, 여러 개의 장치를 하나의 장치처럼 사용할 수 있는 기술 이라고 이젠 설명합니다. 따라서 어떤 것을 가상화 한다는 말은 어떤 것을 분리해서 분산처리 능력과 자원 사용률을 높인다고 이해하면 될 거 같습니다. 메모리를 가상화 한다는 것은 16GB 메모리를 4GB 4개인것처럼 분리해서 각각에서 일을 처리한다. (이 설명이 맞는지는 잘 모르겠습니다. 저는 이렇게 ..
텀블벅 디지몬 버터플라이(butter-fly) 후원 배송 완료 예전에 신청해 뒀던 앨범이 드디어 도착했습니다. 9.6짜리 2개 2개 주는걸 후원했었는데 너무 맘에 드네요 대략 이렇게 왔습니다 너무 좋네요
[쿠버네티스 #7] Kubernetes ingress를 이용한 tls 적용 (let's encrypt) 오랜만입니다. 반갑습니다. 오늘은 쿠버네티스 환경에 tls를 한 번 적용시켜보겠습니다. ssl(sercure socket layer)/tls(transport layer security)에 대한 기본 지식을 어느정도 알고 있으면 좋을 거 같습니다. 본 예제에서는 인증서 발급으로 let's encrypt를 사용하였습니다. 기본적으로 let' encrypt를 이용한 인증서 발급에는 세 가지 방법이 있습니다. standalon, webroot, dns 본 예제에서는 webroot를 이용한 방법으로 테스트하였습니다. 기본적으로 webroot를 이용한 인증서 발급에는 다음 그림과 같은 순서로 이루어집니다. 1. 웹서버에서 let's encyrpt에 사용할 도메인에 대한 인증을 요청하고 2. let's encryp..
[OpenStack #0] 오픈스택 튜토리얼 안녕하세요 반갑습니다. 오랜만에 오늘은 오픈스택에 대한 글로 찾아뵙습니다. 되게 뜬금없이 오픈스택을 들고왔는데 우선 오픈스택이 무엇이냐?? AWS나 GCP같은 클라우드 플랫폼을 써본 경험이 있으시다면 이해하기가 쉬우실텐데요 오픈스택은 바로 이런 AWS나 GCP같은 클라우드 플랫폼을 우리가 가지고 있는 자원으로 만드는겁니다. 즉 오픈스택은 우리가 자체적인 자원을 가지고 AWS를 운영하는겁니다. 글을 좀 찾아보면 AWS나 GCP같은 경우 public 한 클라우드 플랫폼이고 오픈스택의 경우엔 private한 플랫폼으로 각각의 장단점이 있다고 하고 최근에는 이 두 가지를 혼용해서 사용하는 방법이 떠오르고 있다고합니다. 오픈스택이 뭔지 대략적인 개념을 알았으니 공식 Docs를 통해 설치하기 전에 어떤식으로 설치되..
[Ansible #1] 앤서블 튜토리얼 안녕하세요 오랜만입니다. DevOps 엔지니어에 관한 툴을 찾다가 우연히 로드맵을 보게되었다. 출처 : https://velog.io/@exploit017/2020-%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EB%A1%9C%EB%93%9C%EB%A7%B5 2020 데브옵스 개발자 로드맵 https://github.com/devJang/developer-roadmap/blob/master/pdf/devops.pdf velog.io 쭈욱보다가 IaC 중 자주 언급되던 Ansible과 Terraform이 눈에 들어왔고 이번기회에 공부해보기로했다. 우선 Ansible이란 여러 개의 서버를 쉽게 관리하기 위한 툴이다. n개의 서버를 1개의..
[쿠버네티스 #tip4] 새로운 워커노드를 Join 시키거나 클러스터를 초기화할 때 안녕하세요 오랜만에 쿠버네티스 글입니다. 제 미천한 블로그를 찾아주시는 분들 중에 쿠버네티스 팁 중에 뭐가 도움이 될까 생각해보니 두 가지가 떠올랐습니다. 바로 새로운 워커노드를 추가할 때나 클러스터를 초기화 하는 과정이 필요하다고 생각했어요 Minikube의 경우에는 이런 과정이 쉽겠지만 실제 VM이나 온프레미스환경에서 구축한 경우 여러가지 경우에 의하여 초기화 시키는 경우가 많았습니다. (물론 저 혼자 에러때문에 초기화한 거지만..) 그런 분들에게 도움이 되고자 이 글을 작성합니다. 우선 새로운 워커노드를 추가하는 방법입니다. 기존에 처음 Join했을 때를 기억하시나요? 워커노드에서 $ kubeadm join (IP주소):6443 --token (토큰 값) --discovery-token-ca-cer..