7. 파드 실행 및 통제를 위한 워크로드 컨트롤러 7장 부터는 쿠버테니스 리소스별로 추가적인 설명을 하겠습니다. 열심히 개발한 어플리케이션을 컨테이너 이미지로 만들었다면 쿠버네티스 클러스터에 파드로 배포를 해야 합니다. 물론 실무에서는 CI/CD파이프라인을 통해 자동으로 배포가 되기 때문에 개발자 여러분들이 직접 워크로드 컨트롤러 오브젝트와 서비스나 인그레스 같은 다른 오브젝트들을 야믈로 정의해서 직접 만들일은 없을 수 있습니다. 하지만 CI/CD 파이프라인을 직접 만들어야 한다면 각 쿠버네티스 리소스를 정의하는 방법에 대해 알고 있어야 합니다. 설사 CI/CD 파이프라인을 이용만 하더라도 생성된 쿠버네티스 오브젝트들을 이해하는 것이 컨테이너화 하는 어플리케이션을 만드는데 많은 도움이 됩니다. 그래서 조..
쿠버네티스 오브젝트를 CRUD(Create, Read, Update, Delete)하기 위해서는 쿠버네티스의 명령어와 옵션에 대해 알아야 합니다. 무수히 많은 명령어와 옵션들이 있지만 가장 자주 사용하는 핵심 명령어는 아래와 같습니다. 이 정도만 알아도 쿠버네티스 오브젝트를 처리하는데는 사실 큰 무리가 없습니다. 아래 명령어들을 CRUD별로 생각하시면 기억하기 쉽습니다. ‘C’는 apply, ‘R’은 get과 describe, ‘U’는 edit, ‘D’는 delete이고 파드 처리 명령어로 logs, exec가 있습니다. 쿠베컨트롤kubectl의 사용 문법은 아래 형식입니다. kubectl {COMMAND} {리소스 종류} {오브젝트명} {Options} 항상 위 4개 부분이 다 필요한게 아니라, 명령어..
쿠버네티스 오브젝트를 생성하기 위해서는 보통 명세Specification를 정의한 야믈 파일을 만들어야 합니다. 공식적인 명칭은 매니페스트(Manifest)파일인데, 대부분 야믈 파일이라고 부릅니다. 여러분들이 직접 오브젝트 정의 파일을 만들어야 할 경우도 많기 때문에 이번에는 오브젝트 정의 파일을 쉽게 만드는 방법을 배워 보도록 하겠습니다. 먼저 오브젝트 정의 파일의 구조와 문법을 이해하고 기존 오브젝트를 이용하여 새로운 오브젝트 정의 파일을 빠르게 만드는 법을 설명하겠습니다. 이전 절에서 실습한 오브젝트 중 네임스페이스, 서비스 어카운트, 컨피그맵, 시크릿, 클러스터롤 바인딩, 롤바인딩은 야믈 파일로도 만들 수 있지만 kubectl로 바로 만들 수 있기도 합니다. 이 방법은 이후 각 리소스에 대해 다..
4. 쿠버네티스 개발에서 배포까지 실습 개발 측면의 쿠버네티스 리소스인 인그레스, 서비스, 파드, 컨피그맵, 시크릿, 퍼시스턴트 볼륨, 퍼시스턴트 볼륨 클레임을 좀 더 확실하게 이해하기 위해 예제를 갖고 실습해 보겠습니다. 예제는 OTT 추천 서비스의 멤버 어플리케이션과 추천 어플리케이션입니다. 이 어플리케이션들은 스프링부트Spring Boot로 개발되어 있습니다. 뭔가 거창한 것 같지만 주소를 치면 결과를 간단하게 보여주는 어플리케이션들입니다. 멤버 마이크로서비스는 사용자ID에 대한 사용자 정보를 제공 합니다. http://{인그레스 주소}/member/members/{user id} 추천 어플리케이션은 사용자 ID에 대한 추천 OTT 정보를 제공 합니다. http://{인그레스 주소}/recommen..
3. 한장으로 이해하는 쿠버네티스 리소스 쿠버네티스 리소스들을 개발 측면과 운영 측면으로 나누어 설명 하겠습니다. 개발자 분들은 개발 측면의 쿠버네티스 리소스만 이해해도 쿠버네티스를 사용하시는데 큰 불편은 없으실 겁니다. 이 장의 목적이 개발자를 위한 쿠버네티스 핵심을 전달하는 것이기 때문에 운영 측면의 쿠버네티스 리소스들에 대해서는 간략하게만 소개하겠습니다. 개발 측면의 쿠버네티스 리소스들은 이어지는 각 절에서 실습을 하면서 배워보도록 하겠습니다. 쿠버네티스 리소스Resource와 오브젝트Object 차이 많은 사람들이 쿠버네티스 리소스와 오브젝트라는 용어를 명확히 구분하지 않고 사용하고 있습니다. 리소스와 오브젝트간의 관계는 자바에서 클래스Class와 오브젝트(객체)의 관계와 정확히 동일 합니다. 클..
2. 쿠버네티스 아키텍처 쿠버네티스를 처음 설치 하시는 분들은 가이드 대로 따라하기는 하는데 왜 이 작업을 해야 하는지 이해가 안되는 게 있을 겁니다. 그 궁금증들은 앞으로 과정을 진행하면서 자연스럽게 풀리게 될 겁니다. 쿠버네티스를 본격적으로 공부하기 전에 다른 제품들처럼 쿠버네티스도 아키텍처부터 이해할 필요가 있습니다. 먼저 쿠버네티스를 구성하는 컴포넌트들에 대해 이해하도록 하겠습니다. 컨테이너를 실행하고 관리하기 위해 어떻게 각 컴포넌트가 역할을 나눠서 하는지를 이해하면 이후에 쿠버네티스 리소스를 학습할 때 동작 원리가 좀 더 명확히 이해 됩니다. 두번째로 클러스터Cluster, 컨텍스트Context, 노드Node, 네임스페이스Namespace의 개념에 대해 배우도록 하겠습니다. 이 개념에 대해 이..
일단 쿠버네티스 설치부터 해 보겠습니다. 쿠버네티스를 싱글노드에 설치할 수도 있고 멀티노드에 설치할 수도 있습니다. 가상머신을 한대만 구할 수 있다면 싱글노드에 구성 하셔도 되나 실무 환경에 보다 가까운 멀티노드에 구성하실 것을 권고 합니다. 아래와 같은 순서로 설치 하시면 됩니다. 실습을 위한 시스템 아키텍처는 아래와 같이 PC에 만든 가상머신을 배천노드로 사용하고 IBM 퍼블릭 클라우드에서 구매한 두대의 가상머신에 쿠버네티스를 설치하는 구성 입니다. 위 아키텍처 그림에 어플리케이션을 쿠버네티스 클러스터에 컨테이너로 배포하는 절차를 단순화하여 표시하였습니다. ❶ 개발 및 소스 업로드: 개발한 어플리케이션을 깃 리포지토리에 업로드 ❷ 컨테이너 이미지 빌드: 깃 리포지토리에서 소스를 다운로드 하여 컨테이너..
쿠버네티스 소개 쿠버네티스는 “여러 서버에 분산된 서비스를 통합 지휘하는 컨테이너 관리 플랫폼"입니다. 여러분들이 마이크로서비스를 컨테이너화 하여 제공하고 싶다면 도커Docker와 더불어 쿠버네티스Kubernetes에 대해서도 반드시 알아야 합니다. 왜일까요 ? 다른 여러 이유가 있겠지만 가장 기본적인 이유는 도커는 한대의 머신 또는 가상머신에서만 컨테이너를 관리할 수 있기 때문입니다. 거의 대부분의 서비스는 여러 대의 머신 또는 가상머신에서 서비스 되야 하고 여러 대에 컨테이너를 배포하고 운영하려면 쿠버네티스가 반드시 필요 합니다. 쿠버네티스는 도커에 비하면 훨씬 복잡하고 제공하는 기능도 많습니다. 그만큼 배워야 할 것도 많고 다루기도 까다롭습니다. 쿠버네티스Kubernete는 그리스어이며 ‘조정', ..
학습 목표 마이크로서비스는 ‘Time to market을 달성하는 ‘Speedy’한 서비스, 수익 창출하는 ‘Service Always’한 서비스, 비용 최적화하는 ‘Save Cost’한 서비스를 보장해 기업의 성공 확률을 높여주는 강력한 수단입니다. 이러한 ‘3S’를 보장하는 서비스는 마이크로화, 독립적 빌드/배포/스케일, 반복/순환적인 발전이 되어야 합니다. 그러려면 마이크로서비스 간의 독립성을 유지해야 하는데, 독립성 유지는 컨테이너로 격리하는 방법이 가장 좋습니다. 그래서 마이크로서비스에 컨테이너 기술이 많이 이용되고 있습니다. 마이크로서비스의 컨테이너화에 가장 많이 사용하는 제품 중 도커Docker를 알아보겠습니다. 이 장의 목표는 도커 그 자체에 대한 깊이 있는 기술 지식을 전달하는것이 아니라..
혹시 시크릿이 쿠버네티스 저장소인 etcd에 저장되지 않는다고 생각하시는 분이 계신가요 ? 아닙니다. 시크릿 데이터도 etcd에 저장됩니다. 그것도 무려 평문으로 저장됩니다. 하긴 base64로 인코딩되어 저장되도 쉽게 디코딩이 되니 그게 그거겠지만 말입니다. 쿠버네티스에서는 etcd에 저장되는 시크릿 데이터를 암호화 하는 방법을 제공 합니다. etcd를 암호화 하는 이유는 컨트롤 플레인 노드의 루트 권한을 가진 사람은 etcd를 접근하여 시크릿 데이터를 볼 수 있기 때문입니다. https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/ Encrypting Secret Data at Rest This page shows how to enable ..
- Total
- Today
- Yesterday
- 요즘남편 없던아빠
- 마이크로서비스
- spotify
- 버라이어티가격
- CQRS
- 스핀프로젝트
- 애자일
- AXON
- 스포티파이
- 호모프롬프트
- 돌봄경제
- 도파밍
- 디토소비
- Event Sourcing
- agile
- micro service
- SAGA
- 리퀴드폴리탄
- 분초사회
- API Composition
- 마이크로서비스 패턴
- 육각형인간
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |