티스토리 뷰

이전 편에서 우리는 자바 스트필부트 앱을 컨테이너라이징 하여 ACR에 태그 및 푸시하여 두었다. 이 컨테이너 이미지를 Azure의 컨테이너 서비스인 Azure Container Instances, Web App for Container, Azure Container Apps 그리고 Azure Kubernetes Service를 대상으로 배포하는 실습을 이어나가 보겠다.

 

본 실습에서는 각 컨테이너 서비스에 대한 상세 기능 레벨을 다루기 보다는 컨테이너화 된 이미지의 기본적인 배포 맛보기 정도를 다룬다. 추후 별도의 글을 통해 각 서비스 별로 다루어 볼 예정이다. 

 

 

참고로 이 실습을 따라 하기 위해서는 지난 Part1, Part2에서 다룬 Azure SA 업무 환경 구성이 필요하다.

 

중지한 VM을 켜고 실습을 준비한다. 이후 작업은 WSL 환경에서 작업이 이루어 진다.

 

먼저 진행에 앞서 이전 편에서 생성해 두었더 ACR로 이동한다.

Settings > Access keys로 이동하여 Admin user 체크 박스를 선택하여 Admin user 사용을 활성화 한다.

 

 

 

 

 

3. 배포 하기

3.1 Container Instances

Azure Portal에서 Container instances를 검색하 생성을 시작한다.

  • Basics 탭에서 리소스 그룹과 컨테이너 이름을 입력한다.

  • image source 에서 Azure Container Registry를 선택하고 이전에 태그 및 푸시했던  이미지의 정보(Registry, Image 및 tag)를 선택한다.

 
  • Networking 탭에서 DNS name label에 필요한 값을 입력 후 Review + create를 선택한다.

 

  • 생성이 완료된 후 Overview로 이동하여 FQDN 정보를 복사한다.

 

  • 웹 브라우저에 붙여 넣고 결과를 검증한다.

 

컨테이너라이징한 앱을 아주 간단한 조작으로 배포하여 사용할 수 있음을 확인할 수 있다. 단, 소유한 도메인으로 커스텀 한다거나 보다 유연한 배포 기능 등 을 활용하고자 할 경우에는 적합하지 않다. 

 

 

 

3.2 Web App for Containers

Azure Portal에서 App Service를 검색하여 생성을 시작한다.

 

  • Basics 탭에서 리소스 그룹과 인스턴스 이름을 입력한다.
  • Publish 에서 Docker Container를 선택한다.
  • Operating System 을 그대로 두고 RegionKorea Central로 선택한다.

 

 

 

  • Review + create를 선택하여 리소스 생성을 시작한다.
  • 생성이 완료된 후 Overview로 이동하여 Default domain 정보를 복사한다.

 

  • 웹 브라우저에 붙여 넣고 결과를 검증한다.

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

Custom domain 적용 예시

이전에 다른 실습에서 적용했던 내용으로 갈음한다.

  • Settings > Custom domains 에서 + Add custom domain을 선택한다.
  • Domain provider에서 All other domain services를 선택한다.
  • Domain에 커스텀 도메인 정보를 입력한다.

 

  • 도메인 호스팅 관리 페이지에서 A, TXT 레코드 정보를 토대로 입력 한다.

 

  • Custom domain 화면 하단에 Validate를 선택하여 유효성을 검증한다.
  • 정상적으로 확인이 이루어지면 상태가 녹색 체크 표시로 변경되고 Add를 선택한다.

 

→ Add binding을 선택하여 IP기반 TLS/SSL를 구성한다.

  • 성공한 결과는 다음과 같다.
  • 커스텀 도메인 정보를 통해 결과를 확인한다.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

3.3 Container Apps

Container Apps를 검색하여 생성을 시작한다.

  • Basics 탭에서 컨테이너 앱 이름을 입력한다.

 

  • Container 탭에서 먼저 Use quickstart image를 선택 해제한다.
  • 배포할 컨테이너 앱의 이름 및 관련 옵션 정보(Registry, Image 및 tag)를 입력한다.

 

  • Ingress 탭에서 먼저 Use quickstart image를 선택 해제한다.
  • Ingress를 활성화 하고 Ingress traffic을 어디서든 접근 가능하게 선택한다.
  • Target port80을 입력한다.

 

  • Review + create를 선택하여 리소스 생성을 시작한다.
  • 생성이 완료된 후 Overview로 이동하여 Application Url 정보를 복사한다.

 

  • 웹 브라우저에 붙여 넣고 결과를 검증한다.

 

 

3.4 Azure Kubernetes Service

Kubernetes services 검색하여 생성을 시작한다.

  • Basics 탭에서 리소스 그룹 및 클러스터 이름을 입력하고 나머지는 기본으로 유지한다.

 

  • Integrations 탭에서 이미지를 불러 배포할 ACR 정보를 선택한다.

 

  • Review + create를 선택하여 리소스 생성을 시작한다. (약 7~10분 정도 소요됨)
  • 리소스 생성이 완료되면 Kubernetes resoucesConfiguration에서 + Create를 클릭하고 Apply a YAML을 선택한다.

 

  • 다음 YAML 파일을 복사혀여 붙여 넣는다.
apiVersion: apps/v1
kind: Deployment
metadata:
  name: zeroaksdemo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: zero-aks-app
  template:
    metadata:
      labels:
        app: zero-aks-app
    spec:
      containers:
        - name: zero-aks-demo
          image: zeroacrdemo2024.azurecr.io/appmod-demo-cicd:latest
          ports:
            - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
    name: zero-aks-app
spec:
  ports:
    - name: http-port
      port: 80
      targetPort: 80
  selector:
    app: zero-aks-app
  type: LoadBalancer

 

 

주의 
각자의 ACR 에 태그 및 푸시한 이미지 정보와 포트 정보를 하기와 같이 수정하여야 함에 주의한다.

 

  • 이미지와 포트 정보가 수정되었으면 Add를 선택하여 배포를 시작한다. 

 

 

  • 성공적으로 배포가 이루어지면 우측 상단에 Notification이 전시된다. Kubernetes services > Services and ingresses에서 배포된 앱의 External IP를 클릭한다.

 

  • 웹 브라우저에 붙여 넣고 결과를 검증한다.

 

 

 

4. 리소스 정리

 

모든 실습이 마무리 되면 실습에서 사용했던 리소스 그룹을 삭제한다.

 

 

결과가 확인 되었으면 필히 VM을 중지하여 원치 않는 비용이 발생하지 않도록 한다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
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
글 보관함