Kubernetes 애플리케이션을 배포하고 관리하려면 일반적으로 YAML 매니페스트 작성, kubectl 명령 실행 및 여러 도구 간 전환이 필요합니다. AKS 데스크톱은 개발자와 DevOps 엔지니어가 Kubernetes 전문 지식 없이 애플리케이션을 배포, 모니터링, 문제 해결 및 정리할 수 있는 안내 워크플로를 통해 이러한 복잡성을 제거합니다.
이 가이드에서는 애플리케이션 로그, 메트릭, 크기 조정 및 기본 제공 문제 해결 도구 탐색을 통해 클러스터를 만드는 것에서 AKS 데스크톱을 사용하여 TypeScript 애플리케이션을 배포하는 방법을 안내합니다.
사전 요구 사항
- Azure 구독입니다. Azure 구독이 없는 경우 무료 Azure 계정을 만들 수 있습니다.
- Azure CLI 버전 2.64.0 이상을 설치해야 합니다.
az --version명령을 사용하여 버전을 확인합니다. 설치 또는 업그레이드를 위해서는 Azure CLI 설치를 참조하세요. - Azure CLI 확장입니다
aks-preview.az extension add --name aks-preview명령을 사용하여 설치합니다. - AKS 데스크톱 이 설치되었습니다. AKS 데스크톱은 Windows, Linux 및 Mac과 같은 OS(운영 체제)를 지원합니다.
- 기존 클러스터를 사용하는 경우 클러스터는 Microsoft Entra ID를 인증해야 합니다. 클러스터가 Microsoft Entra ID 인증되었는지 확인하려면 AKS 자동 클러스터를 사용합니다. 또한 대상 클러스터에 대한 Azure Kubernetes Service RBAC 클러스터 관리자 역할 또는 동등한 권한이 필요합니다.
Azure 리소스 만들기
기존 AKS 클러스터 및 ACR(Azure Container Registry)이 없는 경우 Azure CLI를 사용하여 만들 수 있습니다. 다음 섹션에서는 새 리소스 그룹, AKS 클러스터 및 ACR을 만드는 방법을 보여 줍니다. 이러한 리소스가 이미 있는 경우 AKS 데스크톱에 클러스터 등록으로 건너뛸 수 있습니다.
환경 변수 설정
명령을 간소화하려면 터미널에서 다음 환경 변수를 설정합니다.
myLocation를 Azure 지역으로 설정했는지 확인하십시오. 이 예제에서는 고유한 리소스 이름을 만드는 데 사용합니다 RAND . 원하는 경우 이러한 값을 사용자 고유의 값으로 바꿀 수 있습니다.
RAND=$RANDOM
export RAND
echo "Random resource identifier will be: ${RAND}"
myResourceGroup=bbash$RAND
myLocation=westus3
myClusterName=clu-$RAND
registryName=bbashreg$RAND
리소스 그룹 만들기
az group create 명령을 사용하여 Azure 리소스 그룹을 만듭니다.
az group create --name $myResourceGroup --location $myLocation
Azure Container Registry 만들기
az acr create 명령을 사용하여 Azure 컨테이너 레지스트리를 만듭니다.
az acr create --resource-group $myResourceGroup --name $registryName --sku Basic
ACR 통합을 사용하여 AKS 클러스터 만들기
az aks create 명령을 사용하여 ACR과 통합된 AKS 클러스터를 만드세요. 매개 변수는 --attach-acr ACR에서 이미지를 끌어올 수 있는 AKS 클러스터 권한을 부여합니다. 이 예제 명령은 또한 을 --skuautomatic설정합니다. AKS 데스크톱에서 최상의 환경을 위해 AKS 자동 클러스터를 사용하는 것이 좋지만 표준 클러스터를 사용할 수도 있습니다.
az aks create --resource-group $myResourceGroup --name $myClusterName --sku automatic --attach-acr $registryName
클러스터 관리자 권한 부여
명령을 사용하여 클러스터 리소스 ID를
az aks show가져와서 환경 변수로 설정합니다.AKS_ID=$(az aks show --resource-group $myResourceGroup --name $myClusterName --query id --output tsv)az role assignment create의 명령을 사용하여 클러스터에 관리자 권한을 부여합니다.<your-entra-id>을 Microsoft Entra ID 개체 ID로 교체해야 합니다.az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" \ --assignee <your-entra-id> \ --scope $AKS_ID
테스트용 컨테이너 이미지 만들기
이 예제에서는 Contoso Air 샘플 애플리케이션에서 이미지를 만들지만 모든 컨테이너 이미지를 사용하여 AKS 데스크톱을 사용하여 애플리케이션 배포를 테스트할 수 있습니다. 다른 이미지를 사용하려면 배포 단계에서 이미지 세부 정보를 바꿔야 합니다.
새 디렉터리를 만들고, 탐색하고, Contoso Air 샘플 애플리케이션을 복제합니다. 그런 다음 웹 애플리케이션 디렉터리로 이동합니다. 다른 애플리케이션 또는 디렉터리 구조를 사용하는 경우 이러한 명령을 적절하게 조정합니다.
mkdir myapp cd myapp git clone https://github.com/Azure-Samples/contoso-air cd contoso-air/src/web명령을 사용하여 컨테이너 이미지를 빌드하고 컨테이너 레지스트리에 푸시합니다
az acr build. 다른 이미지를 사용하는 경우 이미지 이름과 경로를 적절하게 업데이트해야 합니다.az acr build --resource-group $myResourceGroup --registry $registryName --image contosoair:v1 .
AKS 데스크톱에 클러스터 등록
AKS 클러스터에 대한 액세스 권한이 있는 동일한 계정으로 AKS 데스크톱에 로그인했는지 확인합니다. 로그인한 후 Azure 구독에서 추가를 선택합니다.
둘 이상이 있는 경우 Azure 구독의 이름을 입력합니다. (또는 화살표를 선택하여 드롭다운 목록을 연 다음, Azure 구독을 선택합니다.)
클러스터를 선택한 다음 클러스터 등록을 선택합니다.
AKS 데스크톱에서 관리되는 프로젝트 만들기
AKS 데스크톱에서 프로젝트 탭으로 이동하여 새 관리형 프로젝트 만들기를 선택합니다.
다음 프로젝트 설정을 구성합니다.
-
기본 사항:
- 프로젝트 이름: 예를 들면 다음과 같습니다.
my-dev-frontend - 구독:
<your-subscription-name> - 클러스터:
<your-cluster-name>
- 프로젝트 이름: 예를 들면 다음과 같습니다.
메모
Azure 구독 및 AKS 클러스터를 설정하는 경우 AKS 데스크톱은 AKS 데스크톱 환경에 필요한 클러스터 및 구독 기능 지원을 확인합니다.
네트워킹 정책: 이 빠른 시작의 기본 설정을 그대로 두거나 필요에 따라 업데이트할 수 있습니다.
- 애플리케이션을 외부에 노출하려면, Ingress를
Allow all traffic로 변경합니다.
- 애플리케이션을 외부에 노출하려면, Ingress를
컴퓨팅 할당량: 테스트 애플리케이션에 대한 기본값을 그대로 둡니다.
액세스: 줄 항목을 삭제하여 사람을 추가하거나 항목을 삭제합니다.
-
기본 사항:
검토에서 프로젝트의 설정을 확인한 다음 프로젝트 만들기를 선택합니다.
애플리케이션을 배포하십시오
애플리케이션 이름을 입력한 다음 애플리케이션 만들기를 선택합니다.
애플리케이션의 원본을 선택합니다. 이 예제에서는 다음 컨테이너 이미지를> 선택합니다.
다음 애플리케이션 설정을 구성합니다. 기본값을 적용하거나 필요에 따라 업데이트할 수 있습니다.
컨테이너 이미지 이름:
- 컨테이너 이미지 이름을 추가합니다. 이 예시에서는
myacr.azurecr.io/contosoair:v1를 사용합니다.
Important
태그를
latest사용할 수 없습니다. 와 같은v1명시적 태그를 지정합니다.- 컨테이너 이미지 이름을 추가합니다. 이 예시에서는
네트워킹:
- 대상 포트: 예제 컨테이너의 경우
3000로 설정합니다. - 공용 액세스 사용: 공용 URL에서 애플리케이션에 액세스하려면 설정합니다.
- 대상 포트: 예제 컨테이너의 경우
HPA(Horizontal Pod Autoscaler):
- HPA 사용: 리소스 사용량에 따라 애플리케이션의 자동 크기 조정을 사용하도록 설정합니다.
배포를 선택하여 애플리케이션을 배포합니다. 애플리케이션 배포를 완료하는 데 몇 분 정도 걸릴 수 있습니다. 프로젝트 개요 페이지에서 배포 상태를 볼 수 있습니다. 애플리케이션을 탐색하기 전에 모든 리소스가 정상 상태가 될 때까지 기다립니다.
애플리케이션 살펴보기
프로젝트 개요 페이지에서 다음 탭을 사용하여 애플리케이션을 탐색할 수 있습니다.
- 리소스: 애플리케이션에 대한 모든 Kubernetes 리소스를 봅니다.
- 맵: 모든 Kubernetes 리소스가 상호 작용하고 서로 의존하는 방식을 시각화합니다.
- 로그: 파드 로그를 봅니다.
- 메트릭: 핵심 애플리케이션 리소스 사용량을 봅니다.
- 크기 조정: 크기 조정 이벤트를 보고 업데이트합니다.
- 인사이트: DNS 오류, 네트워크 트래픽 및 리소스 사용(미리 보기) 문제를 해결합니다. 자세한 내용은 Insights를 사용하여 AKS 데스크톱에서 애플리케이션 문제 해결을 참조하세요.
- 삭제: 프로젝트를 삭제합니다.
- AI 도우미: 자연어를 사용하여 클러스터의 문제를 진단하고 해결합니다(미리 보기). 자세한 내용은 AKS 데스크톱에서 AI 문제 해결 도우미 사용을 참조하세요.
자원을 정리하세요
빠른 시작을 완료하면 불필요한 비용을 방지하기 위해 만든 리소스를 정리할 수 있습니다.
프로젝트를 제거하려면 삭제를 선택합니다. 기본 Azure 관리 네임스페이스 리소스도 제거하려면 네임스페이스도 삭제를 선택합니다.
관련 콘텐츠
AKS 데스크톱에 대한 자세한 내용은 다음 리소스를 참조하세요.