cloudnet 4

Kubernetes CI & CD (ArgoCD, Jenkins)

Overview지난 글에서 학습한 Jenkins CI 파이프라인을 확장하여 쿠버네티스 CI&CD를 Jenkins와 ArgoCD, Gogs를 통해 구성하겠습니다.  환경 구성실습 쿠버네티스 환경은 Kind로 구성하였습니다.Kind는 테스트 목적으로 로컬 환경에서 쿠버네티스를 구성시키는 도구입니다.# Install Kindbrew install kindkind --version# Install kubectlbrew install kubernetes-clikubectl version --client=true## kubectl -> k 단축키 설정echo "alias kubectl=kubecolor" >> ~/.zshrc# Install Helmbrew install helmhelm versionapiserve..

Cloud Tech 2024.12.22

Github Action CI/CD

OverviewGithub Action 학습한 내용을 정리합니다.참고는 Github Action 공식 문서와 CloudNet@ CI/CD 스터디를 참고하였습니다. Github ActionGithub Action 은 원격 레파지토리인 github가 제공하는 워크플로우 솔루션입니다.사용자가 정의한 워크플로(Workflow)를 통해 CI/CD 등 애플리케이션 자동화 작업을 실행할 수 있습니다.GitHub Actions는 서버리스(Serverless) 방식으로 동작하여, GitHub의 실행 환경(호스트된 실행 서버)이 사용자가 정의한 작업을 대신 실행합니다.워크플로우 구성만 하면 별도의 실행 환경 구성없이 자동화할 수 있다는 점과 GIt 이벤트(PR, 푸쉬, Issue) 에 유유연합니다. 젠킨스가 다양한 확장 ..

Cloud Tech 2024.12.15

도커 기반 애플리케이션 CI/CD 구성

CI/CDCI/CD의 목표는 코드 빌드부터 프로덕션 환경으로의 배포까지 전 과정을 자동화된 프로세스를 구성하는 것입니다. 수동으로 애플리케이션을 업데이트하는 경우 사람의 실수로 인해 구성 드리프트가 발생하거나 보안 취약점이 노출될 가능성이 높아지며, 이는 결국 애플리케이션 배포의 품질 저하로 이어질 수 있습니다.CICI(Continuous Integration)은 코드 변경 분을 버전 관리 리포지터리로 계속 통합하는 프로세스입니다. 변경된 코드가 리포지터리에 커밋되면 빌드가 시작됩니다. 빌드는 애플리케이션 특성에 따라 다른데 빠른 피드백을 원한다면 빌드 과정 중 테스트 단계를 포함하여 빌드를 망친 코드 변경분을 빠르게 찾을 수 있습니다.또한, 도커 기반의 애플리케이션들은 이미지 빌드 과정이 포함됩니다.이..

Cloud Tech 2024.12.08

Terraform 내부 로직 이해

Overview Terraform 내부 로직을 이해하기 위해 학습한 내용을 공유합니다. TerraformTerraform(이하 테라폼)은 코드형 인프라스트럭처(IaC) 도구입니다. 코드를 통해 인프라를 구성하고 관리하는데 사용됩니다. 테라폼 아키텍처는 다음과 같습니다.Terraform Core : 테라폼 파일(.tf)를 구문 분석하고 실행 계획을 생성하며 리소스의 현재 상태(.tfstate)를 관리합니다.Plugins : Terraform과 클라우드 제공업체, SaaS 제공업체, 그리고 기타 API 서비스 간의 상호작용을 담당합니다.Upstream API: 클라우드 제공업체의 API 로, 테라폼이 리소스를 관리하기 위해 호출하는 API 입니다.사용자가 정의한 테라폼 파일(.tf)을 통해 인프라의 상태를 ..

Cloud Tech 2024.06.15