Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Azure 포털의 리포지토리로 이동하여 결과를 확인한다. 

...

...

3.

...

다음 명령을 수행하여 AKS를 생성한다.

Code Block
# 변수 선언
//AKS_NAME은 각자 고유한 이름으로 할당
AKS_CLUSTER_NAME=zerobigaksdemo
RESOURCE_GROUP=RG-Demo4TDG-CICD
REGION_NAME=koreacentral
VNET_NAME=aks-vnet
SUBNET_NAME=aks-subnet

# VNET 생성
az network vnet create \
--resource-group $RESOURCE_GROUP \
--location $REGION_NAME \
--name $VNET_NAME \
--address-prefixes 10.0.0.0/8 \
--subnet-name $SUBNET_NAME \
--subnet-prefixes 10.240.0.0/16

# SUBNET 생성
SUBNET_ID=$(az network vnet subnet show \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_NAME \
--name $SUBNET_NAME \
--query id -o tsv)

# AKS 생성 (약 3분 소요)
az aks create \
--resource-group $RESOURCE_GROUP \
--name $AKS_CLUSTER_NAME \
--vm-set-type VirtualMachineScaleSets \
--node-count 2 \
--load-balancer-sku standard \
--location $REGION_NAME \
--network-plugin azure \
--vnet-subnet-id $SUBNET_ID \
--service-cidr 10.2.0.0/24 \
--dns-service-ip 10.2.0.10 \
--docker-bridge-address 172.17.0.1/16 \
--enable-managed-identity \
--generate-ssh-keys

# AKS 자격증명 획득
az aks get-credentials \
--resource-group $RESOURCE_GROUP \
--name $AKS_CLUSTER_NAME

# AKS 노드 정보 확인
kubectl get node
Code Block
appmod-demo# kubectl get node
NAME                                STATUS   ROLES   AGE   VERSION
aks-nodepool1-18801987-vmss000000   Ready    agent   75s   v1.22.6
aks-nodepool1-18801987-vmss000001   Ready    agent   69s   v1.22.6

Image Removed

2.6 AKS-ACR 통합하기

다음 명령을 수행하여 AKS-ACR을 통합한다.

Code Block
# ACR - AKS 통합
az aks update -n $AKS_CLUSTER_NAME -g $RESOURCE_GROUP --attach-acr $ACR_NAME

...

배포하기

3.1 Container Instances

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

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

...

  • image source 에서 배포할 이미지의 정보(Registry, Image 및 tag)를 입력한다.

...

  • Networking 탭에서 DNS name label에 필요한 값을 넣는다.

...

  • 리소스 생성을 시작한다.

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

...

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

...

3.2 Web App for Containers

App Service를 검색하여 생성을 시작한다.

  • Basics 탭에서 리소스 그룹과 인스턴스 이름을 입력한다.

  • Publish 에서 Docker Container를 선택한다.

  • Operating System 을 그대로 두고 RegionKorea Central로 선택한다.

...

  • Docker 탭에서 배포할 이미지 소스 정보 및 관련 옵션 정보(Registry, Image 및 tag)를 입력한다.

...

  • 리소스 생성을 시작한다.

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

...

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

...

Custom domain 적용

  • Settings > Custom domains 에서 + Add custom domain을 선택한다.

  • Domain provider에서 All other domain services를 선택한다.

  • Domain에 커스텀 도메인 정보를 입력한다.

...

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

...

  • Custom domain 화면 하단에 Validate를 선택하여 유효성을 검증한다.

  • 정상적으로 확인이 이루어지면 상태가 녹색 체크 표시로 변경되고 Add를 선택한다.

...

기존에 이미 Custom domain을 수행한 적이 있는 경우 하기와 같은 에러가 발생할 수 있다.

기존 리소스를 제거 및 해제하고 추가 작업이 필요하다.

...

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

...

  • 성공한 결과는 다음과 같다.

...

  • 커스텀 도메인 정보를 통해 결과를 확인한다.

...

3.2 Container Apps

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

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

...

  • Container 탭에서 먼저 Use quickstart image를 선택 해제한다.

  • 배포할 컨테이너 앱의 이름 및 관련 옵션 정보(Registry, Image 및 tag)를 입력한다.

...

  • Ingress 탭에서 먼저 Use quickstart image를 선택 해제한다.

  • Ingress를 활성화 하고 Ingress traffic을 어디서든 접근 가능하게 선택한다.

  • Target port80을 입력한다.

...

  • 리소스 생성을 시작한다.

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

...

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

...

4. 리소스 정리

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