ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 혼자서 퍼블릭 클라우드 전체를 배포하는 방법
    Semina/CICD 2021. 12. 19. 16:16

    CI/CD 인데, 애플리케이션 배포가 아닌, on demand Cloud 환경등을 Tekton 을 이용하여 배포하는 방법에 대해 소개하고 있습니다.

     

    https://if.kakao.com/session/81

     

    if(kakao)2021

    함께 나아가는 더 나은 세상

    if.kakao.com

     

    pdf : https://t1.kakaocdn.net/service_if_kakao_prod/file/file-1636526524996

     

     

    쿠버네티스와 오픈스택

    오픈스택: 클라우드 인프라스트럭처에 서비스를 제공하는 소프트웨어 집합

    - SDN, virtual machine, object storage, block storage... 20여 개 서비스를 배포해야 함

    openstack v 2012.02.01

    openstack 관리의 어려움을 덜기 위해 쿠버네티스 등장

     

    openstack-helm : k8s 위에 openstack 을 배포

     - 자세한 건 이전세션 if kakao Kubernetes-native Datacenter: 데이터센터안의 모든것들을 쿠버네티스로 관리하는 방법 참고하라 함 

     

    Cloud native CI/Cd

    - Containers, service meshes, microservices, immutable infrastructure, and declarative APIs

     

    CI/CD 애플리케이션 비교

    cloud native 여부 : Github actions 는 runner 라고 불리는 compute reosource 관리 필요

     

    배포방식

    ArgoCD : 선언적 배포에 유리 ; learning curve 가 짧고 쉽게다.

    Tekton : 복잡한 단계를 절차적으로 배포하기에 유리

    Github Actions : argoCD - Tekton 의 중간 정도

     

    권한관리 : Tekton 은 초기단계라 권한 관리가 부족함

     

    장단점

    Argo CD : Automates the deployment of the desired application states

    - 애플리케이션의 상태를 선언적으로 설정하여, 자동으로 배포하는데 적합

     

    Tekton : Create CI/CD systems to build, test, and deploy workflow

     -  build -> test -> deploy workflow 구성에 유리

     

    Github Actions : Create workflows with GitHub events

    - 다양한 github event 기반으로 개발하는데 유리

     

    -> 이 셋 중 Tekton 을 선택

     

     

    github pr 보다는 prow 를 이용하여  chatOps 기반으로 코드리뷰를 하신다고 함

     

    CI/CD Tekton 배포 pipeline

    - task 는 병렬 수행이 가능하므로 각각의 오픈 스택 배포가 병렬로 일어남

     

     

     infra 배포라 그런지 github event 보다는 time scheduler 에 의해 pipelineRune 이 동작하는 예시

     

    Kakao 에서 on demand cloud 환경을 지원하는 architecture 인 bigmac

    openstack 과 k8s 를 2 단으로 쌓았다 -> 빅맥버거

     

    pipeline 이용 배포 예시 - 여러 조직 협업 케이스

     

    CI/CD on K8s

     

    stag/prod 배포는 tagging event 기반으로 일어나는 듯함

    - 배포 요청시 relase note 도 함께 요청하면, 표시 됨

    댓글

Designed by Tistory.