전체 글 794

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

ArgoCD 3편 - helloworld

안녕하세요. 이 글은 ArgoCD시리즈입니다. 이번 시간에는 nginx pod와 nginx service를 ArgoCD로 배포해보겠습니다. 영상: https://youtu.be/efBlfbCMRfs - YouTube www.youtube.com 1. 생성 왼쪽 위에 있는 [new APP]버튼을 클릭합니다. 아래 그림과 같이 ①, ②, ③필드를 설정합니다. ①, ②, ③번에 대한 자세한 내용은 다른 글에서 다룹니다. ArgoCD가 동기화 할 git정보를 선택합니다. 제 github repo의 main브랜치를 사용했습니다. helloworld 예제에 사용할 폴더는 example-1입니다. git url: https://github.com/choisungwook/argocd-practice.git 그 다음, ..

연재 시리즈 2022.08.13

ArgoCD 2편 - 설치

안녕하세요. 이 글은 ArgoCD시리즈입니다. 설치 튜토리얼 공식문서 설치방법을 준수했습니다. argocd namespace를 생성하고 공식 yaml을 kubectl apply로 생성했습니다. yaml파일 말고도 helm 설치 방법도 제공합니다 kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml 튜토리얼 설치 방법은 연습을 위해 설정이 되어 있으므로 운영에서 사용할 때는 설정을 검토해야 합니다. 그리고 운영환경은 안전성을 위해 고가용 설정이 필요합니다. 설치 확인 argocd 컴퍼넌트와 DB(redis)가 p..

연재 시리즈 2022.08.12

ArgoCD 1편 - 컨셉과 장단점

안녕하세요. 이 글은 ArgoCD시리즈입니다. 영상: https://youtu.be/cLgzqc_hwIg 1. 컨셉 ArgoCD는 공식문서 소개처럼 쿠버네티스를 위한 GitOps도구입니다. GitOps는 Git과 Operations의 합성어인데요! 현재 쿠버네티스 상태를 git으로 관리하는 문화입니다.즉, 쿠버네티스에 배포하려고 하는 상태를 Git에 저장하면 ArgoCD가 git에 있는 내용을 쿠버네티스 배포합니다. git에 저장되어 있는 내용은 쿠버네티스 사용자가 의도된 상태(Desired state)로 취급됩니다. 쿠버네티스 declarative와 동일한 개념입니다. ArgoCD는 의도된 상태를 쿠버네티스에 동기화하려면 조건이 필요합니다. 현재 상태와 의도된 상태와 차이가 있어야 합니다. 예를 들어 ..

연재 시리즈 2022.08.12

Kustomize 빠르게 시작하기

안녕하세요. 이 글은 kustomize를 처음 공부할 때, 도움이 될 자료를 정리했습니다. 영상: https://youtu.be/fXPK5sbVIPk 1. Kustomize란? kustomize는 쿠버네티스 리소스(yaml파일)를 변경하지 않고 필드를 재정의하여 새로운 쿠버네티스 리소스를 생성하는 도구입니다. 글로 보는 것보다 직접 실습하면 바로 어떤 도구인지 알 수 있을 것 같아요! 제 github repo를 다운로드 받고 example_1폴더에 있는 파일을 살펴봅시다. github 링크: https://github.com/choisungwook/kustomize-example pod.yaml과 kustomization.yaml파일이 실습에 필요한 파일입니다. kustomization.yaml파일은 k..

연재 시리즈 2022.08.07

kustomize 3편 - resources필드 의미

글이 이전되었습니다. 링크: https://malwareanalysis.tistory.com/402 안녕하세요. 이 글은 kustomize 시리즈의 3번째 챕터입니다. 1. resources필드 의미 kusomization.yaml파일의 resources필드는 제일 처음 실행되는 필드입니다. resources 필드는 kustomize를 적용할 yaml파일을 선택합니다. 주의사항은 선택하지 않은 yaml파일은 같은 경로에 있더라도 최종 결과물에 제외됩니다. 2. 실습 예제를 살펴볼게요. 제 githuh repo(https://github.com/choisungwook/kustomize-example)를 다운로드 받으신 후, example_2폴더로 이동합니다. example_2에는 2개의 yaml파일과 ku..

연재 시리즈 2022.08.03

kustomize 2편 - kustomize 컨셉

글이 이전되었습니다. 링크: https://malwareanalysis.tistory.com/402 안녕하세요. 이 글은 kustomize 시리즈 2편입니다. 1. kustomize을 실행하기 위한 조건 kustomization.yaml파일이만 있으면 kustomize명령어를 실행할 수 있습니다. 그리고, kustomize를 적용할 yaml파일을 준비합니다. 보통 kustomization.yaml파일이 있는 같은 경로에 yaml파일을 위치시킵니다. yaml파일이 없어도 kustomization.yaml만 있으면 동작을 합니다. yaml파일이 없는 상황은 새로운 쿠버네티스 리소스를 만들려고할 때 사용합니다. $ tree . ├── kustomization.yaml └── pod.yaml 2. kustomi..

연재 시리즈 2022.08.03

kustomize 1편 - kustomize란?

글이 이전되었습니다. 링크: https://malwareanalysis.tistory.com/402 안녕하세요. 이 글은 kustomize가 무엇인지 소개합니다. 1. Kustomize란? kustomize는 쿠버네티스 리소스(yaml파일)를 변경하지 않고 필드를 재정의하여 새로운 쿠버네티스 리소스를 생성하는 도구입니다. 2. 실습하면서 살펴보기 글로 보는 것보다 직접 실습하면 바로 어떤 도구인지 알 수 있을 것 같아요! 제 github repo(https://github.com/choisungwook/kustomize-example)를 다운로드 받고 example_1폴더에 있는 파일을 살펴봅시다. pod.yaml과 kustomization.yaml파일이 실습에 필요한 파일입니다. kustomizatio..

연재 시리즈 2022.08.02

docker를 대체하는시스템 구축 시 만나는 상황

이 글은 docker를 대체하는 시스템 구축시, 만날 수 있는 상황에 대해 간단히 소개합니다. 영상: https://youtu.be/MyLUaWFiLXg docker를 대체하는 도구 설치시 어려운 점 docker는 운영 관점(아키텍터 x)에서 컨테이너 제어와 컨테이너 이미지 빌드 2가지로 분류할 수 있을 것 같습니다. docker를 다른 도구로 대체할 때 어려운 부분이 컨테이너 이미지 빌드입니다. 컨테이너 제어: docker run, stop, kill, commit … 컨테이너 이미지 빌드: docker build docker만 설치하면 docker 아키텍처를 몰라도 컨테이너 제어와 컨테이너 이미지 빌드를 쉽게할 수 있습니다. 그래서, docker대안으로 다른 도구를 사용할 때 예상치 못한 관문을 만나..

Argo workflow - WorkflowTemplate

안녕하세요. 이 글은 workflowtemplate에 대해 설명합니다. 영상: https://youtu.be/F4Eg4hKgmVc - YouTube www.youtube.com 1. 개요 workflow를 템플릿으로 정의하는 것을 workflow template입니다. workflow에서 템플릿을 정의하여 불러쓰는 것처럼, argoworkflow를 템플릿으로 불러서 쓰고 싶을 때 사용합니다. 2. 어떤 곳에 사용될까? 사용자 관점에서는, 공통으로 사용하는 부분을 묶어서 관리하거나 workflow 동작 일부를 공유할 때 사용합니다.개발관점에서 쉽게 비유하면 workflow를 함수로 정의해서 다른 workflow에서 호출해서 사용한다고 생각하시면 됩니다. 운영관점에서는 WorkflowTemplate을 IAC..