지난 시간에 AKS 를 구축하였습니다. 이번 시간에는 Azure DevOps 에서 만들어진 이미지를 AKS에 올려보는 실습을 해보겠습니다.
AKS에 ACR 연결설정
$CLIENT_ID=(az aks show --resource-group Z-CONNECTIVITY-KC-AKS-RG --name joon95_devops_aks --query "identityProfile.kubeletidentity.clientId" --output tsv)
$ACR_ID=(az acr show --name joontestacr --resource-group joontest-rg --query "id" --output tsv)
az role assignment create --assignee $CLIENT_ID --role acrpull --scope $ACR_ID
정상적으로 role 이 등록되었다면 아래와 같은 응답이 올 것이다.
{
"canDelegate": null,
"condition": null,
"conditionVersion": null,
"description": null,
"id": "/subscriptions/<구독ID>/resourceGroups/joonTest-rg/providers/Microsoft.ContainerRegistry/registries/joonTestacr/providers/Microsoft.Authorization/roleAssignments/55db9395-fd64-4048-968a-9a396712a7f0",
"name": "55db9395-fd64-4048-968a-9a396712a7f0",
"principalId": "2622908e-a17c-453e-8301-3a6b0610415d",
"principalType": "ServicePrincipal",
"resourceGroup": "joonTest-rg",
"roleDefinitionId": "/subscriptions/<구독ID>/providers/Microsoft.Authorization/roleDefinitions/7f951dda-4ed3-4680-a7ca-43fe172d538d",
"scope": "/subscriptions/<구독ID>/resourceGroups/joonTest-rg/providers/Microsoft.ContainerRegistry/registries/joonTestacr",
"type": "Microsoft.Authorization/roleAssignments"
}
ACR 이미지 레지스트리 주소 확인하기
물론 애저 포털에서 바로 확인가능하지만.. az cli 를 이용하자면
az acr list --resource-group joontest-rg --query "[].{acrLoginServer:loginServer}" --output table
AcrLoginServer
명령어를 쳐보면 아래와 같은 주소가 나온다.
----------------------
joontestacr.azurecr.io
Deployment Yaml 작성
위에서 이미지 레포 주소를 알았으니 참고해서 작성해보자
apiVersion: apps/v1
kind: Deployment
metadata:
name: azuredevops-php
namespace: default
spec:
selector:
matchLabels:
app: azuredevops-php
replicas: 2
template:
metadata:
labels:
app: azuredevops-php
spec:
containers:
- name: azuredevops-php
image: joontestacr.azurecr.io/joontest:3
ports:
- containerPort: 8080
Deployment Yaml 적용
kubectl apply -f azure-devops-acr.yaml
deployment.apps/azuredevops-php created
배포 확인
kubectl get po -w
마지막으로 배포했던 파일을 확인해보자.
Next..
지금까지 만들었던 ACR에 있는 이미지를 AKS 클러스터에 배포할 수 있게 되었습니다.
다음 포스팅은 Azure DevOps Pipeline 을 AKS에 연결하는 실습을 포스팅 하겠습니다.
'엔지니어링 > CI-CD' 카테고리의 다른 글
[Jenkins] Gitlab Private Repogitory 가져오기 (0) | 2022.08.11 |
---|---|
[AzureDevOps] CI-CD 구축하기-5탄 (0) | 2022.07.29 |
[AzureDevOps] CI-CD 구축하기-3탄 (0) | 2022.07.29 |
[AzureDevOps] CI-CD 구축하기-2탄 (0) | 2022.07.29 |
[AzureDevOps] CI-CD 구축하기-1탄 (0) | 2022.07.29 |