본문 바로가기
728x90
반응형

DevOps32

DevOps 환경에서 CI/CD 프로비저닝 구성하기: 이미지 기반 파이프라인과 인프라 자동화 최근 DevOps의 CI/CD 파이프라인과 프로비저닝에 대한 개념이 조금씩 이해가 가면서, 저만의 DevOps 아키텍처를 설계하게 되었습니다. 이 과정에서 GitLab, Jenkins, Helm, Terraform 등 다양한 도구를 활용하여 환경을 구성하고 모니터링을 설정했습니다. 오늘은 제가 이해한 내용을 바탕으로 DevOps 엔지니어의 관점에서 인프라를 구성하는 방법과 각 도구의 역할에 대해 공유해보겠습니다.  현재까지 가 이해한 대로 구성도를 짜보았습니다. Dev 파트 (CI): GitLab, Jenkins, Github Actions를 활용한 CI 파이프라인DevOps 환경에서 CI 파이프라인의 중심에는 GitLab과 Jenkins가 자리 잡고 있습니다. GitLab을 통해 코드 변경 사항을 관리.. 2024. 11. 15.
[DevOps]인프라 자동화의 핵심 도구들: Terraform, cloud-init, Helm, Ansible, Vagrant 자동화와 인프라 관리는 이제 IT 환경에서 필수적인 요소로 자리 잡았습니다. 인프라를 코드로 관리하는 IaC(Infrastructure as Code) 도구들이 발전하면서, 개발과 운영 환경에서 시간과 비용을 절감하고 일관성을 높일 수 있는 다양한 방법이 생겼습니다. 이번 포스팅에서는 Terraform, cloud-init, Helm, Ansible, Vagrant와 같은 대표적인 자동화 도구들을 살펴보고, 이들을 가상머신, 컨테이너, Kubernetes 환경에 적용하는 방법을 소개하겠습니다. Terraform: 인프라를 코드로 선언하기Terraform은 클라우드 리소스를 코드로 선언하고 프로비저닝하는 도구입니다. AWS, GCP, Azure 같은 주요 클라우드 서비스 제공자뿐 아니라, vSphere, .. 2024. 11. 9.
[Devops] Terraform + Cloud-init & Ansible 현대의 IT 인프라 환경에서, 시스템 관리자와 DevOps 엔지니어들은 인프라를 효율적으로 관리하기 위해 다양한 자동화 도구를 사용합니다. 이 글에서는 Terraform + Cloud-init 조합과 Ansible을 비교하여 각 도구의 역할과 사용 목적을 살펴보겠습니다. 특히 위의 이미지에서 각 도구의 주요 사용 영역을 시각적으로 표현하고 있으니 참고하시기 바랍니다. 1. Terraform과 Cloud-init의 조합: 인프라 프로비저닝 및 초기 설정Terraform의 역할: 인프라 생성 및 관리Terraform은 Infrastructure as Code (IaC)를 지원하여 AWS, Azure, GCP와 같은 클라우드 환경에서 인프라 리소스를 선언적 코드로 정의하고 관리합니다. 이를 통해 EC2 인스턴.. 2024. 11. 6.
[Devops]AWS ECR vs Docker Hub: 왜 AWS ECR을 선택해야 할까? 개요클라우드 기반 애플리케이션 개발에서 컨테이너 이미지를 저장하고 관리하는 일은 필수적인 과정입니다. 많은 개발자들이 Docker Hub를 이미지 저장소로 사용하지만, AWS 클라우드 환경에서 운영되는 애플리케이션에는 AWS ECR (Elastic Container Registry)을 사용하는 것이 훨씬 더 효율적일 수 있습니다. 이 글에서는 AWS ECR이 Docker Hub에 비해 어떤 장점을 제공하는지, 그리고 실제 운영 환경에서 ECR을 사용하는 이유에 대해 알아보겠습니다. 1. AWS ECR 이란?AWS ECR은 AWS에서 제공하는 Docker 이미지 저장소 서비스입니다. Docker Hub처럼 컨테이너 이미지를 저장하고 버전 관리할 수 있지만, AWS 환경에 최적화되어 있어 클라우드 기반 애플.. 2024. 11. 5.
[Kubernetes] 클러스터 구성 중 접한 ERR ERR# kubeadm init --pod-network-cidr=10.96.0.0/12 --apiserver-advertise-address=192.168.207.231I1017 11:20:16.467463 4146 version.go:256] remote version is much newer: v1.31.1; falling back to: stable-1.28[init] Using Kubernetes version: v1.28.14[preflight] Running pre-flight checks [WARNING FileExisting-socat]: socat not found in system patherror execution phase preflight: [preflight].. 2024. 10. 21.
DevOps 관점에서 VM 생성 및 Kubernetes 클러스터 구축 자동화 개요DevOps는 개발(Development)과 운영(Operations) 간의 협업을 통해 소프트웨어의 배포 및 인프라 관리 자동화를 달성하는 데 중점을 둡니다. 이를 위해 다양한 도구와 스크립트를 사용하여 가상화 환경을 구축하고, 어플리케이션의 확장성과 유연성을 보장하는 Kubernetes 클러스터를 자동화하는 작업이 핵심입니다. 이 글에서는 Vagrant, Ansible, Python, Bash, PowerShell, ESXi 명령어와 같은 다양한 도구를 사용하여 가상 머신을 자동으로 생성하고, 생성된 VM들에 Kubernetes 클러스터를 구축하는 DevOps 파이프라인을 설계하는 방법을 설명합니다.1. 가상 머신 생성 도구의 비교와 DevOps 활용 방안Vagrant & Ansible(소~대규모.. 2024. 10. 17.
[Rocky linux8] Vagrant 구성하기 개요Vagrant는 개발 환경을 쉽게 생성하고 관리할 수 있도록 도와주는 오픈 소스 도구입니다. 이를 통해 동일한 개발 환경을 여러 개발자 간에 쉽게 공유할 수 있고, 운영체제, 소프트웨어 버전, 네트워크 설정 등을 손쉽게 가상 환경에서 설정할 수 있습니다. Vagrant는 주로 가상 머신(VM)이나 컨테이너를 관리하며, 개발자는 이를 통해 호스트 운영체제와 독립적인 환경에서 애플리케이션을 개발 및 테스트할 수 있습니다.주요 기능Vagrant의 주요 기능은 다음과 같습니다:간편한 가상 환경 설정: Vagrantfile이라는 설정 파일을 통해 필요한 가상 머신의 스펙(운영체제, 네트워크, 디스크 등)을 정의합니다.다양한 프로바이더 지원: Vagrant는 VirtualBox, VMware, Docker와 같.. 2024. 10. 15.
[DevOps] Nis lsync ldap AD 로밍 Cloudinit 개요NIS, Lsync, LDAP, AD로밍, 그리고 Cloudinit은 모두 시스템 관리, 사용자 관리, 그리고 서버 초기화 및 설정과 관련된 기술로, 각기 다른 목적을 가지고 있지만 상호 보완적인 방식으로 사용할 수 있습니다. 이러한 기술들을 크게 세 가지로 묶어서 설명할 수 있습니다. (사용자 관리, 파일 및 데이터 동기화, 서버 초기화 및 구성)1. 사용자 관리이 범주에 해당하는 기술은 NIS, LDAP, AD 로밍입니다. 이들은 모두 사용자 및 그룹 정보의 중앙 집중화 및 인증을 목표로 하고 있습니다.NIS(Network Information Service)NIS는 주로 Unix/Linux 시스템에서 사용자 계정, 그룹, 호스트명, 메일 별칭 등의 정보를 중앙 서버에서 관리하고 이를 네트워크를 .. 2024. 10. 10.
[Kubernetes] 클러스터에 노드 추가 클러스터 구축 후 토큰 값을 까먹거나 여러 요인들로 추가로 작업해줘야할 경우에 아래 과정으로 실시하면 된다.Master 노드토큰 값 조회# kubeadm token listTOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS19iege.6onflcvyh6yr7bqq 21h 2024-09-09T06:10:33Z authentication,signing The default bootstrap token generated by 'kubeadm init'. .. 2024. 9. 10.
728x90
반응형