반응형

지난 시간에 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에 연결하는 실습을 포스팅 하겠습니다.

반응형
복사했습니다!