본문 바로가기

분류 전체보기

(345)
라이브니스 프로브 (Liveness Probe) 쿠버네티스는 라이브니스 프로브 (Liveness probe)를 통해 컨테이너가 아직 살아 있는지 확인 할 수 있다. 포드의 사양에서 각 컨테이너에 라이브니스 프로브를 지정할 수 있다. 쿠버네티스는 세 가지 메커니즘 중 하나를 사용해 컨테이너를 검색한다. - [HTTP GET 프로브]는 지정한 IP 주소, 포트, 경로에 HTTP GET 요청을 수행한다. ㅁ 프로브가 응답을 수신하고 응답코드가 오류를 나타내지 않으면(즉, HTTP 응답코드가 2xx 또는 3xx 인 경우) 프로브는 성공한 것으로 간주 ㅁ 서버가 오류 응답 코드를 리턴하거나 응답하지 않으면 프로브는 실패로 간주하고 결과적으로 컨테이너를 다시 시작 - [TCP 소켓 프로브]가 컨테이너의 지정된 포트에 TCP 연결을 열려고 시도. 성공적으로 연결되..
Pod 4 - (Namespace) - 객체를 서로 겹치지 않는 별개의 그룹으로 분리하려는 경우 쿠버네티스는 객체를 네임스페이스로 그룹화 함. - 이 네임스페이스는 리눅스 네임스페이스와는 다름 - 동일한 리소스 이름을 여러 네임스페이스에서 여러 번 사용할 수 있다. [네임스페이스의 필요성] - 여러 네임스페이스를 사용하면 많은 구성 요소를 포함하는 복잡한 시스템을 더 작은 그룹으로 분할 가능 - 멀티 테넌트(multi-tenant) 환경에서 리소스를 분리하고 리소스를 생산, 개발 및 QA 환경으로 또는 기타 필요한 방식으로 분할 하는데 사용 가능 - 리소스 이름은 네임스페이스 내에서만 고유하면 됨, 두 개의 네임스페이스는 동일한 이름의 리소스 포함 가능 [다른 네임스페이스와 네임스페이스의 포드] 클러스터에 있는 모든 네임스페이스 나열 $ ..
Pod 3 - (Label을 이용한 Pod 구성) [라벨 소개] - 라벨은 포드 뿐만 아니라 쿠버네티스의 모든 리소스를 구성하는 간단하면서도 강력한 쿠버네티스 기능 - 라벨은 리소스에 첨부하는 임의의 키/값 쌍이다. - 라벨 셀렉터를 사용해 리소스를 선택할 때 활용 - 리소스는 해당 라벨의 키가 해당 자원 내에서 고유한 경우 하나 이상의 라벨을 가질 수 있다. - 각각의 포드는 두개의 라벨이 있다. ㅁ app은 포드가 속한 애플리케이션이며, 구성 요소 또는 마이크로서비스를 지정한다. ㅁ rel은 포드에서 실행 중인 애플리케이션이 안정적 버전, 베타 혹은 카나리 버전인지 여부를 표시 정의: 카나리 버전은 안정적인 버전 이외의 새로운 버전의 애플리케이션을 배포할 때 사용. 모든 사용자에게 배포하기 전에 일부 사용자가 새로운 버전을 사용해 동작 방법을 살펴 ..
Pod 2 - (YAML이나 JSON 파일 디스크립터에서 Pod 만들기) Pod와 그 밖의 쿠버네티스 리소느는 일반적으로 JSON 또는 YAML 매티페스트를 쿠버네티스R EST API 앤드포인트에 게시해 생성 각 리소스 유형의 모든 속성을 구성하려면 쿠버네티스 API 객체의 정의를 알아야 함. 1. Pod의 YAML 디스크립터 검사 [배포된 Pod의 전체 YAML] $ kubectl get po kubia-zxzij -o yaml apiVersion: v1 kind: Pod metadata: annotations: kubernetes.io/created-by: ... creationTimestamp: 2016-03-18T12:37:50Z generateName: kubia- labels: run: kubia name: kubia-zxzij namespace: default r..
Pod 1 - (Pod 개요) 1. Pod의 필요성 - 여러 프로세스를 실행할 때 한개의 컨테이너보다 다수의 컨테이너가 더 적합 ㅁ 컨테이너는 프로세스 자체가 하위 프로세스를 생성하지 않는 한 컨테이너당 하나의 프로세스만 실행하도록 설계 ㅁ 다양한 프로세스들이 상호 관리를 통해 지원하는 환경을 구성할 경우(Web Process, Log 저장용 프로세스, Scheduling 프로세스 등) 하나의 컨테이너에서 수행이 어려울 수 있다. 2. Pod - 여러 개의 프로세스를 하나의 컨테이너로 묶으면 안 되기 때문에 컨테이너를 단일 단위로 관리할 수 있는 상위 레벨 구조가 필요 [동일한 포드의 컨테이너 사이의 부분 격리] - 쿠버네티스는 도커를 구성하여 각 컨테이너가 자체 세트를 가지고 있는 대신 모든 Pod Container가 동일한 Lin..
9. Serverless Architecture Design for Web 1. 웹 기반 스토리지 저장 기본 1.1 웹 기반 애플리케이션의 현실 애플리케이션을 사용할 수 없게 되면 - 매출 손실 - 고객 충성도와 브랜드 이미지에 타격 성능은 곧 다음을 말함 - 높은 페이지 뷰 - 더 나은 고객 경험 - 높은 전환율 1.2 웹 이미지 저장 개요 CloudFront의 캐싱 및 가속화 기술을 통해 AWS는 정적 이미지에서 사용자 입력 콘텐츠까지 모든 콘텐츠를 제공할 수 있음. - 정적: TTL(Time-To-Live)이 높은 이미지, js, html등 - 동영상: rtmp 및 http 스트리밍 지원 - 동적: 사용자 정의 콘텐츠 및 캐싱할 수 없는 콘텐츠 - 사용자 입력: http 작업 지원(Put/Post 등 포함) - 보안: SSL(HTTPS)을 통해 콘텐츠를 안전하게 제공 2...
8. Microservice Architecture 인프라 결합 해제 1. 독립 구성 아키텍처 - 느슨한 결합은 확장 프로세스를 간편하게 해줌 - 여러 티어에 분산 시스템 사용 시 관리형 로드 밸런서 또는 대기열 시스템에서 트래픽이 전달되고 검색될 수 있는 단일 엔드포인트 제공 - 즉 시스템이 느슨하게 결합될수록 더 쉽게 확장되며 내결함성도 강화할 수 있음 2. 느슨한 결합 전략 2.1 서버가 아니라 서비스를 설계 다양한 AWS 서비스를 활용하고 인프라를 서버로 한정하지 않음 안티 패턴 모범 사례 간단한 애플리케이션이 영구 서버에서 실행 서버리스 솔루션이 필요할 때 프로비저닝 됨 애플리케이션이 서로 직접 통신 메시지 대기열이 애플리케이션 간의 통신을 처리 정적 웹 자산이 로컬로 인스턴스에 저장 정적 웹 자산은 Amazon S3와 같은 외부에 저장 백엔드 서버가 사용자 인증..
Apache Spark Architecture www.edureka.co/blog/spark-architecture/ Apache Spark Architecture | Distributed System Architecture Explained | Edureka This article on "Spark Architecture" will help you to understand the Spark Eco-system Components and give you a brief insight of Apache Spark Architecture. www.edureka.co