Gitea webhook, Jenkins pipeline 설정은 이전 게시물 참고. [Kubernetes] CI/CD구성하기(Jenkins, Argo, Gitea, Harbor) #3 Jenkins, Gitea Webhook 설정 및 Pipeline 구축Jenkins Gitea 연동은 이전 게시물 참고. [Kubernetes] CI/CD구성하기(Jenkins, Argo, Gitea, Harbor) #2 Jenkins Gitea 연동jenkins 배포 및 argocd 배포는 이전 게시물 참고. [Kubernetes] CI/CD구성하기(Jenkins, Argo, Gitea, Harboha2o.tistory.com 주어진 Helm 프로젝트 배포.ArgoCD가 해당 Helm 프로젝트 동기화.Helm 소스코..
DevOps/Kubernetes
Jenkins Gitea 연동은 이전 게시물 참고. [Kubernetes] CI/CD구성하기(Jenkins, Argo, Gitea, Harbor) #2 Jenkins Gitea 연동jenkins 배포 및 argocd 배포는 이전 게시물 참고. [Kubernetes] CI/CD구성하기(Jenkins, Argo, Gitea, Harbor) #1 배포CIGITEA에서 코드를 수정 시 Jenkins로 웹훅.Jenkins는 컨테이너를 빌드하고 이미지를 harbor에 pushha2o.tistory.com Webhook 설정Gitea 웹훅을 설정하여 코드 변경이 있을 때 Jenkins에서 자동으로 파이프라인을 트리거 하도록 한다.내 repo에서 설정 -> 웹훅 -> Webhook 추가 -> Gitea를 선택한다...
jenkins 배포 및 argocd 배포는 이전 게시물 참고. [Kubernetes] CI/CD구성하기(Jenkins, Argo, Gitea, Harbor) #1 배포CIGITEA에서 코드를 수정 시 Jenkins로 웹훅.Jenkins는 컨테이너를 빌드하고 이미지를 harbor에 push한다.harbor는 argo를 통해 컨테이너 이미지를 업데이트 한다. CDGITEA에 있는 코드를 서비스 배포하기 위ha2o.tistory.com jenkins Plugin 설치jenkins에서 gitea와 webhook을 사용하려면 plugin을 설치해야 한다.Jenkins 관리 -> Plugin으로 이동한다. Available plugins를 눌러 아래 목록에 대한 plugin을 install한다.GiteaMul..
CIGITEA에서 코드를 수정 시 Jenkins로 웹훅.Jenkins는 컨테이너를 빌드하고 이미지를 harbor에 push한다.harbor는 argo를 통해 컨테이너 이미지를 업데이트 한다. CDGITEA에 있는 코드를 서비스 배포하기 위해 쿠버네티스의 helm에게 요청한다.helm은 CI에서 새로운 컨테이너의 이미지 버전을 install하면 argo에서 배포를 자동으로 해준다. CI 구성하기가장 먼저 jenkins와 argo를 관리하기 위한 helm을 설치한다.자세한 설치 내용은 아래 링크를 참고.https://helm.sh/ko/docs/intro/install/ 헬름 설치하기헬름 설치하고 작동하는 방법 배우기.helm.sh curl -fsSL -o get_helm.sh https://raw.g..
kubectl이 설치되어 있다면 [3. 로컬에서 kube config를 통해 환경 설정하기]부터 보면 된다.1. wsl 설치하기Window의 경우 kubectl를 사용하기 위해 wsl를 설치한다.wsl --install https://learn.microsoft.com/ko-kr/windows/wsl/install WSL 설치wsl --install 명령을 사용하여 Linux용 Windows 하위 시스템을 설치합니다. Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine 등 원하는 Linux 배포판에서 실행되는 Windows 머신에서 Bash 터미널을 사용할 수 있습니learn.microsoft.com자세한 내용은 위의 링크를 참고. Microservice stor..
jenkins를 사용하려면 기본적으로 nfs설정이 되어 있어야 한다.nfs 구축은 https://happycloud-lee.tistory.com/178 이분 블로그를 참고.쿠버네티스 1.21버전 이후 사라진 RemoveSelfLink함수로 인해 https://github.com/kubernetes-incubator/external-storage.git 이 git을사용하면 pod가 실행되지 않는다. helm 설치jenkins를 사용하려면 helm을 통해 repo에 저장하고 install해야 한다.curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3chmod 700 get_helm.sh./get..
쿠버네티스 구조쿠버네티스는 추상적이기 때문에 이해하기 쉽지 않다. 그래서 해당 구조를 통해 이해를 돕기 위해 아래 그림을 통해 알아보자.마이크로서비스 아키텍처, CD/CI, ING Controller, PV/PVC, NFS, POD 등등.. 마이크로 서비스 아키텍처(MSA)마이크로 아키텍처란 여러 개의 서비스를 독립적인 서비스로 분리시켜놓은 구조를 말한다.독립된 서비스들은 각 하나의 기능을 담당하여 위 그림을 보면 ArgoCD, Front-End, Back-End, Grafana, Prometheus 등등 여러 구조로 나뉘게 되는데 그 아래로 Pod로 나뉘게 되고 Pod는 여러 개의 컨테이너로 나뉘게 된다.즉, 쿠버네티스는 MSA 기반 아키텍처를 사용하고 있다. 그럼 왜 마이크로 서비스 아키텍처를 사용..
helm쿠버네티스를 사용하다 보면 수많은 템플릿을 관리해야 하는데 이 때 헬름을 통해 쉽게 관리할 수 있다.헬름은 템플릿 파일들의 집합을 관리하는 쿠버네티스 패키지 매니저 도구이다.차트와 차트 압축 파일을 만들고, 차트가 저장된 차트 저장소와 연결해 쿠버네티스 클러스터에 차트를 설치하거나 삭제할 수 있다.헬름을 이용하면 잘 정리된 차트들로 필요한 애플리케이션들을 빠르게 설치할 수 있다.chart: 쿠버네티스에서 실행할 애플리케이션을 만드는데 필요한 정보 묶음config: 패키지한 차트에 넣어서 배포 가능한 오브젝트를 만들 때 사용할 수 있는 설정.release: 특정 config를 이용해 실행 중인 차트의 인스턴스. 헬름 클라이언트와 틸러 서버헬름은 커맨드라인 인터페이스인 헬름 클라이언트와 헬름 클라이..