본문 바로가기

DevOps

(72)
[T102 1주차] (2) 테라폼 설치 cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 1주차 정리입니다. 1주차 내용: 테라폼 설치 >> ec2 배포 MAC os를 기준으로 작성하였습니다. brew terraform 설치 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" mzc01-kook@MZC01-KOOK ~ % terraform version Terraform v1.3.2 on darwin_arm64 Your version of Terraform is out of date! The latest version is 1.5.4. You can update by downloading from https:..
[T102 1주차] (1) 테라폼과 IAC ? cloudNet@ 팀의 가시다 님이 진행하는 테라폼 102 스터디 1주차 정리입니다. Terraform은 AWS의 CloudFormation과 같은 대표적인 IaC(Infrastructure as Code) 툴이다. IAC는 간단하게 말하면 인프라를 코드로 기록해서 관리하는것이다. 코드를 통해서 인프라를 관리하는 이유에 대해서 한번 생각해 보려고 한다. 그러기 전에 , 인프라 관리 발전 단계에 대한 이야기를 짚고 넘어가고 싶은데 이러한 발전 단계는 테라폼으로 시작하는 IAC 저서에도 기록되어 있는 내용이며 거기에 덧붙여서 국내 private cloud 운영 경험에 비추어 추가 설명 하도록 하겠다. 1단계 : 수동으로 운영 ( 메뉴얼 ) 인프라 관련 모든 정보와 구성 방법, 변경 방법, 기존 아키텍처에 ..
AWS Config 당근마켓의 클라우드 파트는 AWS 리소스와 Compliance들을 관리하는것 같습니다. 이번 글에서는 ,, 그 중에서 여러회사에서 컴플라이언스 관리에 사용되는 AWS Config와 IRSA에 대해 공부를 해보도록 합니다. 시작에 앞서 AWS Config란 무엇일까요? AWS Config는 AWS 계정에 있는 AWS 리소스의 구성을 자세히 보여 줍니다. 이러한 보기에는 리소스 간에 어떤 관계가 있는지와 리소스가 과거에 어떻게 구성되었는지도 포함되므로, 시간이 지나면서 구성과 관계가 어떻게 변하는지 확인할 수 있습니다. 당근마켓에서는 이 AWS Config를 컴플라이언스 관리 용도로 사용하고 있답니다. 그에 대한 장점을 이렇게 말씀하십니다. 많은 Cost를 절감할수 있다. 정기적인 Audit에 모두가 시간을..
[AWS] S3 사용방법 그동안 config파일이나 복사해서 사용하는 파일들은 ftp나 파일전송 소프트웨어를 사용하는게 편했는데 퍼블릭을 사용하게 되면 S3를 이용하여 자동화하는데 많은 편의성이 제공 할수 있는것 같다. 1. aws cli 설치 $ sudo apt-get update $ sudo apt install aws-cli $ aws configure 1. Access key 2. Secret key 3. Region 4. enter 2. aws cp ( 업로드 ) 업로드를 할때는 내가 올리려는 버킷의 속성에서 S3 URI를 복사해서 aws cli를 통해 업로드를 한다. $ aws s3 cp harbor-setup.sh s3://tas-koo/koo/ 3. 다운로드 /// sudo wget https://tas-koo.s..
[CI/CD] (3) ArgoCD를 사용하는 이유? 젠킨스를 가지고 CD 영역까지 자동화 할수 있다. 하지만, 왜 ArgoCD를 쓰고 싶을까? GitOps라는 개념때문이다. 1. GitOps GitOps 라는 용어는 Weaveworks에서 만들었습니다. GitOps의 핵심은 Git 저장소에 저장된 쿠버네티스 매니페스트 같은 파일을 이용하여, 배포를 선언적으로 한다는 것입니다. 즉, Git에 저장된 매니페스트가 쿠버네티스 클러스터에도 똑같이 반영된다는 것입니다. 이러한 방법은 이해하기 쉬운 운영 모델을 제공하며, Git을 사용하기 때문에 보안 및 감사 기능도 기본으로 제공됩니다. 그리고 재해로부터 쉽게 복구할 수 있습니다. 무엇보다도 큰 장점은 개발자 친화적이라는 것입니다. 이런 선언적 스타일은 쿠버네티스와 잘 어울립니다. 이미 아시고 계신분들도 있지만, ..
[CI/CD] (2) 젠킨스를 사용하는 이유 젠킨스를 사용하는 이유 ( 소프트웨어 생명주기 ) 우선, 소프트웨어 생명주기에 대한 이야기를 해볼까 한다. 소프트웨어가 생성되는 일련의 과정을 다음과 같이 그릴수 있다. 이러한 과정을 거쳐서 만들어지는 소프트웨어는 이 과정 사이에 가시성이 필요하다. 그러한 이점을 젠킨스와 같은 CICD 툴이 제공 한다. 어느 시점에 어떤 에러를 통해서 빌드나 테스트가 실패했는지를 추적관리 할수 있으며 , 디버깅에 용이하다. BUILD - TEST - RELEASE 의 전범위적인 단계에서 젠킨스를 사용하는것이 가능하며 CI/CD 툴을 이용하는 것의 가장 큰 장점은 이러한 일련의 과정들에 대한 가시성과 멱등성을 제공한다는 것이다. 모놀리스 어플리케이션에도 Jenkins를 썼었어요! CI/CD를 필자는 쿠버네티스와 연동하여 ..
[CI/CD] (1) CI/CD 개념 ▶ CI / CD의 개념: CI / CD는 continous integration , continous Delivery 라는 용어의 개발 생태계에서 오래전 부터 사용되던 자동화 툴이다. 실제적으로 CI & CD가 의미하는것은 우리가 검증하고 릴리즈 하는 모든 작업을 자동화된 빌드와 테스트 툴을 이용하여 전체적인 과정을 파이프라인화 하여 자동으로 검증하고 자동으로 배포해주는 환경을 만들어 어플리케이션을 생성하는 과정을 자동화 하는것이다. 하지만, Cloud Native 시장이 확산되면서 CICD라는 명칭은 컨테이너화, 배포환경까지의 경로를 자동화하는 일련의 작업들을 전체적으로 CICD라고 부르게 된것 같다. ▶ CI ( Continuous integration ) 수많은 개발자의 serveral times..
[Ansible] 9. ansible Module (systemd, service) systemd와 service 모듈은 daemon 등록과 관련된 앤서블 모듈입니다. 앤서블 모듈을 먼저 알아보기전에, systemd와 service의 경로나 관리하는 방법에 대해서 먼저 알아야 합니다. systemctl 이란? RHEL 7 에 도입된 systemd 를 관리하는 명령어 service 이란? /systemd/system/{{서비스이름.service}} 디렉토리 아래에 확장자가 .service인 파일을 만들면, systemctl 명령을 통해 서비스를 제어할 수 있습니다. systemd service가 등록되어 있지 않아도, service를 실행하면 자동으로 systemctl에 등록됩니다 (참고로 CentOS 7 이전에는 기존 서비스 관리 명령어였던 chkconfig를 통해 /etc/init.d..