반응형

지난 시간에 AKS와 ACR을 연동해보았습니다. 이번에는 최초에 만들었던 Azure DevOps 의 PipeLine 을 이용하여 AKS에 배포 하는 실습을 하겠습니다.

Azure DevOps Pipeline <-> AKS 연동

Azure DevOps>Pipeline>pipelines 에서 New Pipeline 을 클릭

너의 코드는 어디있는지? Azure Repos Git 클릭

자동으로 검색되는 repos.. 생성했던 'joonTest' 선택

배포하고자하는 서비스 'Deploy to Azure Kubernetes Service' 선택

자동으로 검색되는 내 구독에서

클릭하면 어떻게 배포를 진행할 것인지 나온다.

배포 네임스페이스 : devops-php  
ACR에 쓰일 이미지이름 : joontest  
service port : 80

마지막으로 배포될 pipeline yaml !!

Save and run 버튼을 살포시 눌러주면~

메시지와 설명을 입력하고 save and run!!

 

오오... 빌드중

배포중...

완료!

 

클러스터 배포 확인

kubectl get svc -n devops-php
더보기

NAME       TYPE           CLUSTER-IP   EXTERNAL-IP     PORT(S)        AGE

joontest   LoadBalancer   10.0.5.82    20.200.227.41   80:30352/TCP   3m15s

서비스 조회 시 나온 external-ip 로 접근하면 된다.

 

Source Code Push 해보기(CI-CD)

지금까지 AzureDevOps와 AKS의 CI-CD Pipeline 구성이 완료되었다.

그럼 이제 실제 개발자가 push 하고 CI-CD가 이뤄지는 것을 확인해보자! 

test.php 페이지 작성

<html>
  <head> </head>
  <body>
    <input type="text" size="10" id="sample" />
    <button onclick="a();">눌러</button>
    <script>
      function a() {
        var a = RegExp("[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}");
        var sample = document.getElementById("sample").value;
        if (a.test(sample)) {
          alert("올바른 IP 형식입니다.");
        } else {
          alert("올바른 IP 형식이 아닙니다.");
        }
      }
    </script>
  </body>
</html>

간단히 인풋 하나와 ip체크 검증하는 자바스크립트를 추가하였다.

 

repo에 push하기

 

AzureDevOps CI-CD 구경

필자는 초기생성한 PHP 앱서비스를 삭제를 안했기에 2가지의 CI 가 존재함

빌드 작업이 QUEUE에 들어가 순차적으로 빌드가 진행되는 것 같음

배포가 진행되가고...

완료가 되면..!

웹으로 접속해보자!

 

Next..

지금까지 AzureDevOps Pipeline을 이용하여 AKS 와 연동하는 것을 진행했는데, 정말 쉽다.

예전에는 쿠버네티스 환경 구축도 힘들었던 것 같은데 재작년부터인가? rancher로도 손쉽게 올릴 수 있어서 좋다.

다음 포스팅은 jenkins를 올려서 AzureDevOps 와 연동하는 것을 하겠다. 

반응형
복사했습니다!