주녁, DevNote
article thumbnail
[GeekNews] 쿠버네티스를 싫어하는 이들을 위한 안내서
Article & Opinion 2024. 6. 8. 01:00

출처- 원글 : Paul Butler – The hater’s guide to Kubernetes- 번역 : 쿠버네티스를 싫어하는 이들을 위한 안내서 | GeekNews (hada.io) 이 글은 원글과 GeekNews의 요약을 보고 개인 의견 메모를 위해 작성되었습니다.요약Kubernetes에 대한 비판적 안내서Kubernetes는 일부 기술자들 사이에서 불필요하게 복잡하고 시간 낭비라는 평판을 얻었으며, 작은 팀에서 사용하는 것은 과잉 설계로 여겨짐.Jamsocket에서는 몇 년간 Kubernetes를 생산 환경에서 운영하며, 필요한 기능만 사용하고 나머지는 무시하는 방식으로 효율적인 사용법을 찾음.Kubernetes를 사용하는 이유Kubernetes는 다음 세 가지를 모두 원할 때 가장 잘 다져진 ..

article thumbnail
[다.인.서] Dive into Service Mesh | Service Mesh의 구성 요소와 동작 과정
DevOps 2024. 5. 25. 22:04

개요서비스 기업 채용 공고에서 쉽게 보이는 우대사항들이 있다.대용량 트래픽 처리 경험, 서비스 메시, 무중단 배포 등등실제 서비스를 다루면서 배우면 좋겠지만, 그 경험도 쉽게 얻을 수 있는 경험은 아니다.하지만 나에겐 인터넷과 책이라는 세상의 선배가 있으니 간접 경험을 해보고자 (+ 약점 극복)이 시리즈를 작성하게 되었다.목표Service Mesh는 Interface의 구현체만 있으면 동일한 동작을 수행할 수 있다.따라서 구성 요소는 내부 구현에 따라 다르지만 동작은 동일하다.오늘은 대표적으로 사용되는 Istio를 기준으로 Service Mesh가 어떻게 구성되고 동작하는지 알아보도록 하자.(이 글은 도서 이스티오 첫걸음을 참고하여 작성하였습니다.)여정Service Mesh의 구성요소 Service Me..

article thumbnail
[다.인.서] Dive into Service Mesh | Cloud Native와 Service Mesh
DevOps 2024. 5. 12. 16:35

개요서비스 기업 채용 공고에서 쉽게 보이는 우대사항들이 있다.대용량 트래픽 처리 경험, 서비스 메시, 무중단 배포 등등실제 서비스를 다루면서 배우면 좋겠지만, 그 경험도 쉽게 얻을 수 있는 경험은 아니다.하지만 나에겐 인터넷과 책이라는 세상의 선배가 있으니 간접 경험을 해보고자 (+ 약점 극복)이 시리즈를 작성하게 되었다.목표서비스 메시(Service Mesh)는 분산 시스템에서 서비스 간 통신과 관리를 효과적으로 처리하기 위한 도구이다.서비스 메시가 무엇이고 어떨 때 사용하면 좋은 지 살펴보자.(이 글은 도서 이스티오 첫걸음을 참고하여 작성하였습니다.)여정Application과 Infra가 분리되어야 하는 이유 현대 Application은 Micro Service Architecture가 등장함에 따라..

article thumbnail
[GeekNews] 서버리스 데이터 시스템의 아키텍쳐
Article & Opinion 2024. 3. 14. 23:57

출처 - 원글 : The Architecture of Serverless Data Systems — Jack Vanlightly (jack-vanlightly.com) - 번역 : 서버리스 데이터 시스템의 아키텍처 | GeekNews (hada.io) 이 글은 원글과 GeekNews의 요약을 보고 개인 의견 메모를 위해 작성되었습니다. 요약 클라우드 데이터 서비스의 미래는 "대규모, 다중 테넌트" 구조 S3와 같은 최상위 SaaS 서비스들이 단순성, 신뢰성, 내구성, 확장성, 저렴한 가격을 제공하는 이유는 이 서비스의 기술들이 이러한 것들을 제공하기 위해 구조적으로 설계되었기 때문 대규모 자원 풀을 통해 고객에게 서비스를 제공하는 것은 규모에 따른 효율성과 신뢰성을 보장함 [서버리스 멀티 테넌트 (Ser..

article thumbnail
[쿠.짤] 쿠버네티스 짤팁 | 컨테이너는 결합할 수 있다(Init, Sidecar, Ambassador)
DevOps 2024. 1. 23. 21:06

개요 “하나의 컨테이너에는 하나의 책임만 가지고 있어야 한다.”  Kubernetes는 컨테이너를 병렬로 Pod Spec에 명시함으로써 서로 역할을 분리하여 동작하도록 할 수 있다.이를 통해 비즈니스 로직 이외의 신경쓸 부분을 다른 컨테이너에 맡길 수 있다.목표컨테이너를 결합할 수 있는 다양한 Kubernete 문법에 대해 학습한다.컨테이너 결합으로 표현할 수 있는 다양한 예제를 학습한다.여정초기화 컨테이너초기화 컨테이너는 Pod의 Application 컨테이너가 실행 전 동작하는 특수한 컨테이너이다.일반적인 컨테이너와 비슷한 동작을 하지만 다음 두 가지 조건을 달성하기 위해 작성된다.초기화 컨테이너는 항상 완료를 목표로 실행된다.각 초기화 컨테이너는 다음 초기화 컨테이너가 시작 전에 성공적으로 완료되어..

article thumbnail
[쿠.짤] 쿠버네티스 짤팁 | Pod 배치는 신중하게! (Schedule Process와 Affinity)
DevOps 2024. 1. 14. 11:10

개요클러스터에 한 번 배치된 Pod는 Node의 상황에 따라 다시 배치되지 않는다.이 말은 곧 Pod/Node를 선택하는 스케줄링 전략은 신중해야 한다는 뜻이다.목표Pod가 원하는 적절한 Node에 배치될 수 있도록 하는 조건을 이해한다.다양한 Pod 배치 전략을 통해 Schedule Process와 Affinity에 대해 알아본다.여정Scheduling Process Pod가 배치될 Node를 선택하는 데는 아래와 같은 과정을 거친다.스케줄이 가능한 Node 중에서Pod의 필터링 조건을 통과하고우선순위 정렬 시 가장 높은 Node 선택위 조건을 한번 더 차근차근 살펴보자  스케줄이 가능한 Node Node는 기본적으로 할당 가능한 Pod의 수가 정해져 있다.일반적으로 110개(On-premise, GC..

article thumbnail
[쿠.짤] 쿠버네티스 짤팁 | 정상 상태와 수명 주기를 이해하자! (Probe와 SIGKILL)
DevOps 2024. 1. 6. 03:00

개요버그 없는 소프트웨어를 작성하는 것은 불가능하다.따라서, 장애가 발생하면 이를 빠르게 감지하고 해결하는 것이 필연적인 작업이 된다.목표정상 상태를 점검하는 3가지 방법을 이해한다.Pod와 Container가 생성/종료되는 이벤트를 파악하고 이해한다.여정쿠버네티스에서는 어플리케이션의 상태를 점검하는 여러가지 방법을 지원한다.이를 probe라고 부르며, 성공(Success), 실패(Failure), 미확인(Unknown)으로 구분하여 진단한다.대표적으로 3가지 방법을 소개한다.Liveness ProbeLiveness Probe는 컨테이너를 재시작하여 장애를 복구하기 위한 점검 방법이다.exec : 명령 성공 여부로 점검한다Pod 실행 후 첫 30초 간은 /tmp/healthy 파일이 존재하므로 성공 처리..

article thumbnail
[쿠.짤] 쿠버네티스 짤팁 | KinD로 Local Kubernetes 구축하기
DevOps 2024. 1. 3. 22:43

개요DevOps 관련 작업을 할 때면, 운영중인 클러스터에 반영하기 선뜻 겁나는 작업들이 있다.그렇다고 Local 개발 환경에 적용하자니 실제 환경과 비슷하게 Node를 여러개 만들기 어렵기도 하다.이럴 때 사용할 수 있는 좋은 프로젝트가 있어서 같이 학습해보고자 한다.목표KinD(Kubernetes in Docker)의 특징과 사용 이유에 대해 이해한다.Kind를 이용한 On-Premise 클러스터를 구축한다.여정KinD가 무엇인가요?kind – Initial design (k8s.io)"Kubernetes IN Docker"의 약자로, Kubernetes 클러스터를 로컬 환경에서 간편하게 생성하고 관리하기 위한 도구Docker 컨테이너 내에서 Kubernetes 노드를 실행하여 클러스터를 구성왜 Ki..

article thumbnail
[쿠.짤] 쿠버네티스 짤팁 | 자원 요구사항을 정의하자! (QoS, Priority Class, Resource Quota, LimitRange)
DevOps 2023. 12. 22. 00:28

개요쿠버네티스를 사용하면서 마주치는 다양한 상황이 발생한다.이에 따라 적용할 수 있는 여러가지 패턴과 대응할 수 있는 옵션들을 알아본다.목표쿠버네티스 Node의 자원에 따라 발생할 수 있는 다양한 상황을 알아본다.Node가 자원의 압박을 받을 때 사용할 수 있는 리소스와 옵션들을 학습한다.여정Node가 사용하는 컴퓨팅 자원 2가지압축 불가능 자원 : CPU, 네트워크 대역폭 → 많아지면 병목 현상이 발생한다.압축 불가능 자원 : 메모리 → 많아지면 컨테이너가 죽는다QoS(Quality of Service)kubelet이 Node의 안정성을 유지하기 위해 사용 가능한 컴퓨팅 자원을 조절하는 기능Best-Effort(최선)request, limit 자원 요구 사항을 가지고 있지 않은 Pod자원이 부족할 때 ..

article thumbnail
[Geek News] Uber가 수천개의 마이크로서비스를 멀티 클라우드 플랫폼으로 이전한 방법
Article & Opinion 2023. 12. 7. 23:10

출처 - 원글 : https://www.uber.com/en-GB/blog/up-portable-microservices-ready-for-the-cloud/ - 번역 : Uber가 수천개의 마이크로서비스를 멀티 클라우드 플랫폼으로 이전한 방법 | GeekNews (hada.io) 이 글은 원글과 GeekNews의 요약을 보고 개인 의견 메모를 위해 작성되었습니다. 요약 "Up: Portable Microservices Ready for the Cloud" Uber는 4,500명의 엔지니어와 수많은 자동 시스템이 매주 4,000회 이상 4,500개의 Stateless 마이크로서비스를 배포 이 서비스들은 전 세계에서 독립적으로 일하는 수백 개의 개별 팀에 의해 개발, 배포 및 운영됨 서비스는 크기, 모양,..