728x90
본 포스팅은 2022 Ifkakao 이게 돼요? 도커 없이 컨테이너 만들기를 바탕으로 작성되었다. if(kakao)dev2022 함께 나아가는 더 나은 세상 if.kakao.com 현재 대부분의 어플리케이션은 컨테이너 형태로 동작하는데, 도커나 쿠버네티스를 사용하는 방법만 알지, 컨테이너에 대해 들여다보는 노력을 안한 것 같아서, 이를 직접 다뤄보기 위한 시간을 갖게 되었다. 컨테이너를 생성하기 위해 필요한 리눅스 개념들은 chroot, cgroup, namespace 등이 있다고 개념만 이해하고 있었지 정확하게 어떤 요소가 "컨테이너"라는 독립적인 워크로드를 만드는지에 대한 이해를 하기 위함이다. 이를 혼자서 진행하기 보다는, IfKakao에서 "도커 없이 컨테이너 만들기 " 라는 세션을 알고 있었고,..
기존에 프로그래머스에서 코딩 테스트를 진행하다가, 겸사겸사 SWEA로 넘어왔는데, 생각보다 낮은 레벨임에도 문제 질이 좋다고 생각들어서, 몇일간 넘어와서 풀었다. D2를 먼저 건드리자는 생각으로 하루에 꾸준히 3문제정도는 풀었는데, 오늘부로 D2 문제를 다 풀었다. D2 난이도 자체는 알고리즘적으로 요구하는 바가 없는 편이라서 가볍게 풀었다. 다만, 수학적인 접근이 좀 필요한 문제들이 있었던 것 같아서 이런 점이 재밌었던 것 같다. 이제 D3로 넘어가면서 알고리즘과 자료구조를 빡빡하게 가져가야할 단계가 왔다. 자랑을 목적으로 썻다기보단, D3로 넘어갈텐데 꾸준하게 계속 하자는 의미로 동기부여를 위해 작성한다. # SWEA 좋은 점 백준은 일단 안해본 입장에서 프로그래머스와 해커랭크만 접했었는데, 연습할 ..
2023.05.09 ~ 2023.11.10 약 6개월간 진행된 교육 과정을 마무리하고 첫 주말을 맞이했다. 갑작스럽게 추워진 날씨 때문에 미뤄왔던 옷들도 서둘러 정리하고, 어질러진 책상도 정리하며 오늘 하루를 보냈다. 졸업때처럼 미리 마음 정리를 해서인건지 딱히 마음의 요동감은 없는 것 같다. 오히려 해야할 것, 하고 싶었던 것들에 대한 억제가 풀리면서 하고싶었던 것들, 해야할 것들을 맞이할 수 있다는 것에 해방감을 느끼고 있다. 월요일이 되면 실감날지도 모르겠다. 23년도 5월부터 11월까지 6개월이란 시간이 짧다면 짧고, 길수도 있지만 나의 인생의 전환점으로 삼을 수 있었던 시기였다는 것은 확실하다. 클라우드와 CS에 대해 부족한 지식들을 많이 쌓을 수 있었고, 이론적이였던 지식들을 실제로 삶과 프로..
본 포스팅은 노트 관리법 중 하나인 PARA Method를 소개하고, 이를 현재 사용 중인 Obsidian에 적용하고 사용한 방법 및 후기를 공유한다. # 노트의 의미 우선, 본인에게 있어 "노트" 혹은 "기록"의 의미를 확인하며 글을 시작한다. 기록은 자신의 과거를 떠올리기 위해서 도움을 줄 수 있는 방법 중 하나이다. 일상생활에서 "사진밖에 남는게 없다~" 라는 우스겟소리를 점차 자주하게 되는데, 시간이 지나면서 경험한 것과 나의 일상을 남기고자하는 욕구가 커지는 것 같다. 본인은 단순히 공부 방법 중 하나로써, 공부한 내용을 노트 앱을 통해 정리하고 이를 사용했었다. 시험을 준비할 때 항상 노트를 참고하진 못하였지만, 그래도 노트를 정리하거나, 가끔 한번씩 회고하는 시간을 가질 때 "내가 이때 이런..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. Owners and Dependents In Kubernetes, some objects are owners of other objects. For example, a ReplicaSet is the owner of a set of Pods. These owned objects are dependents of their owner. Ownership is different from the labels and selectors mechanism that some resources also use kubernetes.io # 소유자와 종속 항목 - Owners and Dependents 쿠버네티스에서, 일부 Object는 다..
# 목적 ALB가 존재하는 상황에서, Route53 및 인증서를 등록하여 HTTPS 구성하여 서비스를 위한 최소한의 보안 확보가 가능해진다. ALB가 존재하는 상황에서 Route53에서 구매한 도메인 및 인증서까지 발급받아 적용하는 과정을 공유한다. EKS 환경에서 ALB를 프로비저닝하는 방법은 아래 글에서 설명되어 있으므로 참고하면 된다. 굳이 AWS LB Controller를 통해 구성된 ALB가 없더라고 아래의 과정은 동일하다. EKS ALB 구성 및 노출 - K8s Ingress 및 AWS LB Controller 사용 # 목적 EKS 및 데이터플레인을 구성할 때 일반적으로 Private Subnets에 속하도록 구성한다. 이럴 경우, 사설 네트워크에 존재하는 파드들을 외부로 서비스하기 위해선 별..
# 목적 EKS 및 데이터플레인을 구성할 때 일반적으로 Private Subnets에 속하도록 구성한다. 이럴 경우, 사설 네트워크에 존재하는 파드들을 외부로 서비스하기 위해선 별도로 공인 IP를 할당받던지, NAT 혹은 LB 구성을 필수적으로 해야한다. 추가적으로, Nginx-Ingress-Controller 등으로, K8s Ingress를 통해 L7 로드밸런싱 구조를 사용하더라도 해당 구성을 별도로 수행해야하는데, AWS 환경에서 일일히 이러한 환경을 구성할 필요는 없다. AWS에서는 추가 플러그인으로 AWS LB Controller를 EKS 환경에서 사용할 수 있도록 제공하고 있고, 이를 사용하여 EKS 환경에서 K8s Ingress 객체를 통해 ALB 구성을 완성하는 방법을 공유한다. # 사용 환..
# 목적 웹서버와 API 서버에 대한 대상 그룹의 헬스체크를 ALB가 수행하는데, 헬스체크 요청에 대한 로그가 계속 쌓이게 되어서 사용자의 요청 로그를 추적하기 불편한 상황이 발생했다. 정상적인 운영 및 디버깅을 위해서 특정 엔드포인트로의 요청에 대한 로그를 제외시켜야했음. FastAPI와 Nginx에서 특정 엔드포인트에 대한 Health Check 용도의 엔드포인트에 대하여, 로그가 쌓이지 않도록 설정하는 방법을 공유한다. # 상태 확인 웹서버와 API 서버가 배포되어있는 환경과 라우팅 조건은 아래와 같았다. EKS 환경을 사용했고, Ingress를 통하여 L7 LB 구성을 수행했다. 해당 인그레스를 통하여 /* 경로로 접속하는 HTTP 요청은 웹서버로, /api/* 로 접속하는 요청은 API 서버로 ..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. 필드 셀렉터필드 셀렉터 는 한 개 이상의 리소스 필드 값에 따라 쿠버네티스 리소스를 선택하기 위해 사용된다. 필드 셀렉터 쿼리의 예시는 다음과 같다. metadata.name=my-service metadata.namespace!=default status.phase=Pekubernetes.io# Field Selector필드 셀렉터는 한 개 이상의 리소스 필드 값에 따라 쿠버네티스 리소스를 선택하기 위해 사용된다. 필드 셀력터 쿼리의 예시는 아래와 같다. metadata.name=my-servicemetadata.namespace!=defaultstatus.phase=Pending다음의 ..