Skip to content

Latest commit

 

History

History

04-Java-AKS

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

AKS에 Spring Boot 애플리케이션 배포

Docs에 설명된 문서 내용을 기반으로 실습을 진행합니다.

필요 소프트웨어

Recommended

  • Visual Studio Code: pom.xml 등 편집 용이를 위해 권장하며, 없어도 실습하는데 지장은 없습니다.
  • Docker: Linux, Windows or MacOS - 로컬에서 컨테이너화할 때 필요합니다.
  • Java Development Kit: OpenJDK도 괜찮습니다. 최신 버전이어도 무방하며, Zulu OpenJDK도 좋은 선택지가 될 것으로 보입니다.
  • apache-maven: 실행 경로를 잘 잡아 mvn -version이 잘 실행되도록 준비하시면 됩니다.
  • Azure CLI: Windows, Linux, and/or MacOS

MacOS 참고

  • Homebrew를 사용하면 brew install maven 명령어를 통해 openjdk 또한 함께 설치 가능하며, brew install azure-cliaz (Azure CLI) 명령어 또한 쉽게 설치 가능합니다.

과정

  1. Test a Spring sample app locally

  1. Create ACR
  • Azure 구독 선택: 여러 구독이 있을 경우, 사용하고자 하는 구독을 선택할 필요가 있습니다.
  • 리소스 그룹 생성: Azure Pass를 이용할 경우, 한국 리전이 아닌 southeastasia 를 권장합니다.
  • ACR 이름: 하이픈(-)이 들어가지 않는 것이 좋은 것 같습니다. 다른 분들과 겹치지 않는 고유한 이름이어야 합니다.
az acr create --resource-group [your resource group] --location southeastasia \
 --name [unique name] --sku Basic
  • ACR 로그인시: az acr login 으로 연동시키는 것이 제일 쉬운데, 사실 docker login 등도 가능합니다. 자세한 내용은 링크를 참고 부탁드립니다.
  1. Upload Docker image to ACR

  • pom.xml 파일 변경 사항 diff 예시

  1. Create AKS
  • 리소스 그룹, AKS 클러스터 이름, DNS 이름 등에 유의하여 생성합니다. 역시 고유한 이름이어야 합니다.
az aks create --resource-group=[your resource group] --name=[unique AKS name] \ 
 --dns-name-prefix=[unique DNS name] --generate-ssh-keys
  1. Deploy to AKS cluster
  • kubectl get services --watch 식으로 --watch 옵션을 붙여 EXTERNAL-IP가 업데이트 되면 바로 확인이 가능합니다.

  • 배포에 대한 scalability는 아래 명령어로 바로 확인 가능합니다.

kubectl scale deployment/gs-spring-boot-docker --replicas=2
  • 웹 인터페이스가 잘 나타나지 않는 경우, 아래 명령어를 실행합니다 (출처).
kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard

관련 발표 자료