클라우드 공부 일지

Azure Kubernetes 서비스로 간단한 웹 페이지 배포하기 본문

Azure

Azure Kubernetes 서비스로 간단한 웹 페이지 배포하기

SYUKJH 2025. 1. 17. 14:48

Azure를 활용하여 간단한 웹 페이지를 kubernetes를 통해 배포해보려고 한다.

 

우선 kubectl을 설치할 vm을 하나 생성하였다. 

리소스 그룹 이름은 kubernetes-practice-rg, vm 이름은 kubernetes-practice-kubectl-vm으로 설정하였다.

 

 

다음엔 Kubernetes Service를 통해 클러스터를 하나 생성해 주었다.

리소스 그룹 이름은 kubernetes-practice-rg, 클러스터 이름은 kubernetes-practice-cluster로 설정하였다.

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

 

이후 생성한 vm에 접속하여 kubectl을 설치해 준다.

kubectl version --client

 

 

kubectl version --client 명령어를 통해 kubectl이 잘 설치되었는지 확인해 준다. 

curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login

 

클러스터와 연결하기 위해 Azure CLI도 설치해 준 후 로그인을 해준다.

 

 

az group list --output table
az aks list --resource-group <ResourceGroupName> --output table

 

위 명령어를 통해 리소스 그룹 목록과 클러스터 목록을 확인해 준다. 

 

az aks get-credentials --resource-group <ResourceGroupName> --name <AKSClusterName>

 

확인한 리소스 그룹 이름과 클러스터 이름을 넣어 주면 클러스터 자격 증명이 끝난다.

 

kubectl get nodes

 

kubectl get nodes 명령어를 통해 클러스터 연결을 확인해준다

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

 

이후 deployment.yaml과 service.yaml을 생성해 준 뒤 kubectl apply -f 명령어를 통해 yaml 파일을 적용해 준다.

kubectl get pods
kubectl get service

 

위 명령어를 통해 파드의 이상이 없는지 확인하고 서비스도 확인해 준다. 

나는 로드밸런서에 Public IP가 pending 상태로 멈춰있었는데 Azure 포탈에서 Public IP 할당량을 초과하여 부여되지 않았다는 메시지를 확인하고 사용하지 않는 Public IP를 지우고 서비스를 다시 적용하였더니 로드밸런서에 Public IP가 잘 붙었다.

 


확인한 Public IP를 인터넷 주소창에 입력해 주면 배포가 잘 된 것을 확인할 수 있다.

 

az group delete --name kubernetes-practice-rg --yes --no-wait --yes --no-wait

 

비용이 부담되어 Azure Cloud Shell에서 위 명령어를 통해 실습한 리소스 그룹을 삭제해 주었다.