02. aks 따라하기 클러스터 만들고 배포하기
02. aks 따라하기 클러스터 만들고 배포하기
02. AKS 따라하기 - 클러스터 만들고 배포하기
AKS 클러스터 만들기
1
az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --generate-ssh-keys --attach-acr kimkyuheongregistry
- node count는 2 이상으로 하면 배포가 되지 않는다.
- 지역과 배포 모델을 잘 설정해야한다…
- 최대한 작은 용량과 적은 노드로 클러스터를 만들어야 오류가 발생하지 않는다.
kubectl을 사용해 클러스터 연결
1
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
- 로컬 kubect1과 AKS 클러스터를 상호 작용 할 수 있도록 설정 업데이트
- AKS 클러스터에서 성공적으로 만들어진 리소스를 볼 수 있다.
1
kubectl get nodes
- pod 확인을 통해 배포를 확인
1
2
3
NAME STATUS ROLES AGE VERSION
aks-agentpool-18280304-vmss000000 Ready agent 6h59m v1.28.10
virtual-node-aci-linux Ready agent 6h57m v1.25.0-vk-azure-aci-1.6.1
배포
매니페스트 파일 업데이트
/aks-store-quickstart.yaml
파일에 대해서 적절하게image
를 수정한다.
1
2
3
4
5
6
7
8
9
10
11
containers:
...
- name: order-service
image: <acrName>.azurecr.io/aks-store-demo/order-service:latest
...
- name: product-service
image: <acrName>.azurecr.io/aks-store-demo/product-service:latest
...
- name: store-front
image: <acrName>.azurecr.io/aks-store-demo/store-front:latest
...
image
주소는 aks portal에서 확인할 수도 있다.
배포
- 매니페스트 파일 분석하고 , 정의된 쿠버네티스 개체를 만드는 명령어를 사용해 배포
1
kubectl apply -f aks-store-quickstart.yaml
- pod을 확인
1
kubectl get pods
# Issue Pod이 정상적으로 동작하지 않은 이슈가 발생
1
2
3
4
5
6
7
order-service-6769f779fb-ll4ll 0/1 ImagePullBackOff 0 18m
order-service-779f786b64-fx5qm 0/1 ImagePullBackOff 0 24m
product-service-7b658f9b77-nhqzh 0/1 ImagePullBackOff 0 24m
product-service-8676b7ccf-7qbfp 0/1 ImagePullBackOff 0 82m
store-front-7d8674668-gpgvh 0/1 ImagePullBackOff 0 24m
store-front-7f9ff8f654-96rcs 0/1 ImagePullBackOff 0 82m
kubectl get pods
를 통해 실행했지만 ImagePullBackOff 상태로 인해 서비스가 가용되지 않음
Pod의 상태 확인
1
kubectl describe pod store-front-7d8674668-gpgvh
1. AKS 클러스터에 연결 가능한지 테스트
1
az aks check-acr --resource-group myResourceGroup --name myAKSCluster --acr kimkyuheongregistry.azurecr.io
1
2
az aks update-credentials --resource-group myResourceGroup --name myAKSCluster --reset-service-principal --service-principal <service-principal-id> --client-secret <service-principal-password>
1
az aks update -n myAKSCluster -g myResourceGroup --attach-acr kimkyuheongregistry
AKS 클러스터 재 연결을 시도해보았지만 여전히 ImagePullBackOff 상태가 지속됨
2. Pod 재배포
현재 Deployment 확인
1
kubectl get deployment store-front -o yaml
Deployment 업데이트
1
kubectl edit deployment store-front
Edit cancelled, no changes made. 로 인해 해결되지 않음
3. Pod 삭제
store-front pod을 삭제하였다
1
kubectl delete pod store-front-7d8674668-gpgvh
pod들이 Running으로 바뀌었다.
1
2
3
4
5
6
7
makeline-service-6fc9df6887-kv8q9 1/1 Running 0 154m
mongodb-0 1/1 Running 0 154m
order-service-779f786b64-fx5qm 1/1 Running 0 161m
product-service-7b658f9b77-nhqzh 1/1 Running 0 161m
rabbitmq-0 1/1 Running 0 4h20m
store-admin-74df59cbd5-f2pxg 1/1 Running 0 154m
store-front-7d8674668-w2ckk 1/1 Running 0 49s
- store-front만 삭제하였는데 왜 다른 pod들이 정상으로 돌아간 이유는 모르겠음.
- 2번의 update에서 해결되었지만 초기화 작업을 거치는 동안 해결 되었을 가능성도 있다고 생각한다.
- 정상적으로 pod이 Runnuing 상태가 된다면
1
kubectl get service store-front --watch
1
2
3
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
store-front LoadBalancer 10.0.190.33 135.237.25.215 80:31128/TCP 4h24m
STATUS REASON MESSAGE
- EXTERNAL-IP 를 통해 배포된 웹 사이트를 확인 할 수 있다.
리소스 정리
도커를 통해 중시 시키기
1
kubectl delete -f aks-store-quickstart.yaml
모든 pod의 제거 확인
1
kubectl get pods
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.