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
여기에서 난 1번을 선택해서 적용을 했는데 한가지 Dockerfile 에 전달되는 profile 값이 변경 될수 있도록 하고 싶었다. 그럴려면 docker build 시점에 값을 넘겨줘야 하는데 document를 찾아보니 ARG 를 사용하게 되면 docker build 시점에 값을 넘길수가 있다.
FROM ubuntu
VOLUME /tmp
ADD app.jar app.jar
RUN bash -c 'touch ./app.jar'
ARG SPRING_PROFILES_ACTIVE
RUN echo $SPRING_PROFILES_ACTIVE
ENV SPRING_PROFILES_ACTIVE=$SPRING_PROFILES_ACTIVE
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-jar","./app.jar"]
결과적으로 docker build 시에 --build-arg 로 SPRING_PROFILES_ACTIVE 값을 넘겨주고 Dockerfile 에서는 전달 받은 SPRING_PROFILES_ACTIVE 값을 ENV 로 등록을하면 ENTRYPOINT 에 -D 옵션을 넣어서 실행하지 않아도 자동으로 profile 이 적용되서 실행이 된다.
* What went wrong:Execution failed for task ':compileJava'.> Could not find tools.jar. Please check that /usr/lib/jvm/java-8-openjdk-amd64 contains a valid JDK installation.
Error 내용을 보면 뭔가 찾을수 없다고 나온다.. tools.jar 파일.
일단 설치된 자바 버전을 확인해 보자.
java -versionopenjdk version "1.8.0_181"OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13)OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)