Check that there is a tagged image in gcr.io for echo-app:v2 Echo-app:v2 is running on the Kubernetes cluster The Kubernetes cluster deployment reports 2 replicas. The application must respond to web requests with V2.0.0
1. 파일 압축 풀기 및 Docker Build
- 압축 풀기
tar -xvzf resources-ehco-web-v2.tar.gz
- PROJECT_ID 환경변수 등록
export PROJECT_ID=$(gcloud info --format='value(config.project)')
- Image 를 Google Container Registry 에 push
2. Version 수정
- echo-web-deployment.yml 파일 수정
아래에 있는 1.0 을 v2 로 변경한다.
- Image push
docker push gcr.io/${PROJECT_ID}/echo-web:v2
그리고 나서 화면에서 Action 에 있는 Rolling update 를 클릭한다.
Rolling Update 에서 image 는 조금전에 push 한 v2 이미지를 사용한다. 그리고 Update 클릭
- Scale 변경
Action 메뉴에서 Scale 을 클릭한후 Replicas 값을 2 로 입력한다.
완료가 되면 위에 보이는 Replicas 정보가 아래와 같이 변경된다.
Deployment Details 화면에 있는 yaml 탭에 가서 파일 내용을 살펴보면 spec.replicas 가 2 로 변경 되어 있는것을 볼 수 있다.
An application image with a v1 tag has been pushed to the gcr.io repository A new Kubernetes cluster exists (zone: us-central1-a) Check that an application has been deployed to the cluster Test that a service exists that responds to requests like Echo-app
Cluster - Node 의 집합이다. - 가장 큰 시스템 단위, 하나 이상의 노드로 구성된다. - 서로 다른 클러스터는 데이터 교환, 접근 불가능하다.
Node Elasticsearch 를 구성하는 하나의 단위 프로세스
- Master-eligible Node node.master: true cluster 를 컨트롤 한다.
- Data Node node.date: true data 관련된 일들을 수행한다 : search, CRUD
- Ingest Node node.ingest: true 문서 indexing 전에 ingest pipeline 을 적용한다
- Machine learning Node
Index - 비슷한 특성을 가진 문서의 모음
Type - 하나의 Index 에서 하나 이상의 Type 을 정의할 수 있다. - Index 를 논리적으로 분류/구분한 것이다.
Document - Index 화 할수 있는 기본 정보 단위이다. - Json 형식을 이루어진다.
Shard & Replica - Elasticsearch 는 Index 를 Shard 라는 조각으로 분할하는 기능을 제공한다. - 콘텐츠 볼륨의 수평 분할/확장이 가능해진다. - 병렬화 함으로써 성능/처리량을 늘리수 있다. - Elasticsearch에서는 색인의 샤드에 대해 하나 이상의 복사본을 생성할 수 있는데, 이를 리플리카 샤드(replica shard), 줄여서 리플리카라고 한다.
- 각 색인은 여러 개의 샤드로 분할할 수 있다. - 하나의 색인은 복제하지 않거나(리플리카 없음) 1회 이상 복제할 수 있다. - 복제되면 각 색인은 기본 샤드(복제 원본 샤드)와 리플리카 샤드(기본 샤드의 복사본)를 갖는다. - 샤드 및 리플리카의 수는 색인별로, 색인 생성 시점에 정의할 수 있습니다. - 색인이 생성된 다음 언제라도 탄력적으로 리플리카의 수를 변경할 수 있으나, 샤드 수는 사후 변경이 불가능하다.
기본적으로 Elasticsearch의 각 색인은 기본 샤드 5개, 리플리카 1개를 갖는다. 따라서 클러스터에 최소한 2개의 노드가 있다면 색인은 기본 샤드 5개, 리플리카 샤드 5개(완전한 리플리카 1개)를 가지므로 색인당 총 10개의 샤드가 존재하게 된다.