분류 전체보기 721

ArgoCD 6편 - Phase

안녕하세요. 이 글은 ArgoCD시리즈입니다. 영상: https://youtu.be/-T1p0uy1mxs Phase란? ArgocD sync과정 순서를 phase라고 부르며 3단계(pre sync, sync, post sync)로 진행됩니다. 지금까지 실습했던 예제들은 모드 sync단계에 속합니다. pre-sync와 post sync는 annotations필드에 설정하여 사용할 수 있습니다. phase를 어떻게 활용하지? phase를 활용하면 내부적으로 관리하는 DB업데이트, 알림기능을 구현할 수 있습니다. 지금까지는 단순히 argocd를 git의 의도된 상태를 쿠버네티스에 배포하는 기능으로만 사용했습니다. 비지니스환경에서는 관측성(Observability)을 위해 사내 DB연동, 알림 기능을 argoc..

연재 시리즈 2022.08.30

Dockerfile 버전선택

안녕하세요. 이 글은 dockerfile 버전이 무엇이고 어떻게 선택할 수 있는지 방법을 소개합니다. 영상: https://youtu.be/WfhnFLb1tg8 1. Dockerfile이란? Dockerfile은 Docker build명령어를 실행할 때 필요한 파일이로서, 도커 데몬이 어떻게 빌드 할지를 정의한 문서입니다. 도커 아키텍처는 도커 클라이언트와 도커 데몬으로 분리되어 있습니다. 사용자가 docker build명령어를 실행하면 실제 빌드는 도커 데몬이 실행합니다. 그리고 빌드 내용이 있는 문서가 Dockerfile입니다. 2. Dockerfile 버전이란? Dockefile도 소프트웨어버전 처럼 버전이 존재합니다. 버전에 따라 지원되는 문법이 다릅니다. Dockerfile은 1.0부터 지금까지..

ArgoCD 6편 - Sync 설정

안녕하세요. 이 글은 ArgoCD시리즈입니다. git에 의도된 상태를 쿠버네티스 클러스터에 동기화 할 때, 필요한 개념과 자주 사용하는 기능을 설명합니다. 영상: https://youtu.be/XBcoj3-pjDA 1. Refresh Period 1.1 개념 argocd는 default 설정으로 3분(180초)마다 git과 현재상태를 비교합니다. 이 주기를 Period 시간(time)이라고 합니다. 3분마다 차이를 비교하는 것은 운영단계에서 매우 중요합니다. git의 업데이트 내용이 바로 반영이 안되는 상황이 발생합니다. 최악은 3분을 대기해야 합니다. 1.2 Period 시간 수정 helm으로는 values.yaml을 오버라이딩해서 수정할 수 있고 yaml파일로 배포했다면 Argo Controller ..

연재 시리즈 2022.08.16

ArgoCD 5편 - project

안녕하세요. 이 글은 ArgoCD시리즈입니다. 이번 시간에는 ArgoCD Application을 관리하는 project를 설명합니다. 영상: https://youtu.be/7QD6llN-WPo?t=270 1. Project란? project는 argocd가 관리하는 논리적 그룹이고 application을 관리합니다. 사용자가 생성한 application은 무조건 project에 속합니다. helloworld 예제(https://malwareanalysis.tistory.com/405#head1)를 실습할 때는 default project를 선택했습니다. argocd를 설치하면 쿠버네티스 default namespace처럼 default project가 존재합니다. 그러므로 별도로 project를 생성하지..

연재 시리즈 2022.08.14

ArgoCD 4편 - Application

안녕하세요. 이 글은 ArgoCD시리즈입니다. 이번 시간에는 ArgoCD의 최소 단위인 Application을 설명합니다. 영상: https://youtu.be/7QD6llN-WPo?t=15 1. Application이란? helloworld 예제 실습과정 기억나신가요? git정보와 쿠버네티스 클러스터를 입력했었습니다. 저희가 입력한 정보는 application CRD로 생성되고 argocd가 관리하게 됩니다. $ kubectl -n argocd get application argocd는 application이라는 단위로 배포할 리소스를 관리합니다. application은 쿠버네티스 CRD로서 argocd를 설치하면 자동으로 CRD가 생성됩니다. $ kubectl get crd | grep applica..

연재 시리즈 2022.08.13