본문 바로가기

DevOps

(72)
[Ansible] 8. Ansible 구조에 대한 표준 가이드 8. Ansible을 통한 코드 작성 표준 메뉴얼 1. 인벤토리 인벤토리는 앤서블에 의해 제어되어 infrastructure as a code의 대상이 될 서버들의 목록을 정의하는 파일이다. 일반적으로 hosts 파일에 정의해 사용하는데 vRealize Automation에서는 이 hosts 파일을 통합 관리하게 되면, deploy간의 순서를 특정하지. 못해 충돌이 일어나기 때문에 각 deployment 마다 새로 디렉토리를 생성하여 그안에 hosts 파일과 host variable등을 관리한다 2. 플레이북 플레이북은 yaml 포맷으로 되어있는 파일로서, 인벤터리 파일에서 정의된 서버들에서 어떤 작업들을 실행할지 정의한다. 일반적으로 앤서블을 사용한다고 하면, 플레이북을 사용하는것이 일반적이며, 플레이..
[Ansible] 7. ansible Module (텍스트 수정) 오늘 포스팅 할 내용은 ansible에서 text파일을 어떻게 관리하면 좋을까? 입니다. 기본적으로 linux OS에서는 echo 명령어와 sed 명령어 등을 이용해서 text 파일을 수정하고 관리하였는데, 앤서블에서는 이러한 기능들을 모듈로 제공하고 있습니다. blockinfile – Insert/update/remove a text block surrounded by marker lines lineinfile – Manage lines in text files replace – Replace all instances of a particular string in a file using a back-referenced regular expression 간단히 설명하자면, blockinfile은 echo..
[Ansible] 6. ansible Module (yum repository) 앤서블의 핵심은 코드실행의 멱등성을 갖추고 있다는 점에 있다. 멱등성이란 여러번 ansible 툴을 사용하더라도 동일한 결과값을 나올 수 있도록 제공되는 형태여야 한다. 즉 매번 다른 결과가 나오거나 에러가 나온다면 비멱등성(non-idempotent) 하다고 할 수 있다. ansible 툴의 거의 대부분의 모듈은 멱등성을 제공한다. 또한 멱등성을 제공하기 위해서는 조건절을 제공하고 있다. 출처: https://knight76.tistory.com/entry/ansible-멱등성idempotent-용어-이해하기 [김용환 블로그(2004-2020)] 즉 중복실행을 하더라도, make directory 같은 shell 명령어는 2번 입력 시 에러를 발생시키는데, 이러한 에러등이 작업에 영향을 미치지 않게끔 ..
[Ansible] 5. mariadb 바이너리 설치 앤서블로 mariadb를 설치하는 경우 보통 구글링에 나오는 자료들은 repository를 이용하여 패키지 설치하는 경우만 나오기 때문에, 해당 포스팅은 mariadb를 바이너리 설치하는 내용에 대해서 ansible의 모듈도 조금 익힐수 있게 설명과 소스를 포스팅 하겠습니다. 우선 전체적인 흐름을 먼저 잡아보자면 mariadb는 tarball을 가지고 설치를 합니다. 물론 yum ,apt , zhipper 등을 사용하면 이러한 설치 과정이 없이 바로 서비스를 등록할수 있지만, 인터넷 환경이 아닌 경우가 종종 있어서 알고 있으시면, 좋습니다. 1. tarball을 unarchive 합니다. 즉 압축을 푸는거죠. 2. 압축을 풀게되면 mariadb-linux-system-10.3.20 등 이렇게 디렉토리가 ..
[Ansible] 4. vRealize Automation 연동 오늘은 VMware의 자동화 솔루션인 vRealize Automation과 Ansible의 연동을 다뤄보려고 합니다. 우선 크게는 해야할 작업은 다음과 같습니다. 앤서블 호스트를 설치합니다. ( ansible 설치 ) ansible host의 playbook 실행파일을 수정합니다 ( 디렉토리 추가, 호스트 파일 복사 ) ansible host에 config파일을 설정합니다. default값으로 vault password를 사용할 것이고, 기본적인 세팅들을 합니다. 위 내용들은 vmware의 공식홈페이지 document들을 참고합니다. vRA에서 ansible 호스트를 등록합니다. 블루프린트를 작성합니다. 현재 제 환경은 다음과 같습니다. vRA Version : 8.4 Ansible Host : Ubun..
[AWS] 3.EC2 WAS에 Git Project Maven Build하기 이번 시간에는 EC2 인스턴스 위에 프로젝트를 빌드하고, 외부 접속이 가능하도록 포트를 개방하는 작업을 하겠습니다. 작업 순서는 다음 순서와 같습니다. 자 시작해볼까요? 1. jdk, tomcat 설치 2. yum을 통해 GIT 설치 3. GIT clone 프로젝트 4. Maven 설치 - compile -package 1. jdk 설치, 톰캣 설치 1-1-1. java version을 확인합니다. 현재 EC2 인스턴스에 설치되어 있는 자바 버전을 확인합니다. 기본적으로 open jdk 7버전이 설치 되어 있습니다. java -version open jdk 1.7 xxx 1-1-2. yum을 통해서 openjdk 1.8을 설치합니다. sudo yum install java-1.8.0-openjdk.x86..
[AWS] 1. EC2 인스턴스 생성하기 EC2 인스턴스는 가상화로 따지면 VM을 뜻한다. AWS에서는 VM을 생성하기 위해서 6가지 단계를 거치는데 AMI 파일( Amazon Machine Image 파일 ) 선택 인스턴스 타입 선택 ( 프리티어, CPU, Memory ) 사용량 선택 스토리지 추가 보안그룹 구성 키페어 생성 EIP ( 탄력적 IP) 등록 host config 등록 ~/.ssh/config (vim) 1. AWS EC2 인스턴스 생성하기 ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2 https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2 ap-northea..
[AWS] 2. MariaDB RDS 생성하기 최근들어 스터디 참여가 활발해지면서 DB관리를 로컬에서 하는것이 현실적으로 어려울것 같아서 AWS 의 RDS 서비스를 이용하여 마리아 DB 10.3.24 버전을 설치해보려고 구글링을 조금 해봤는데, 생각보다 어렵지 않아보여서 포스팅을 해보려고 한다. 회원가입부터, 계정생성까지는 거두절미하고 이화면부터 설명한다. ( Very Easy하기 때문에 ㅎㅎ) 1) RDS 생성하기 DB 인스턴스 생성 엔진선택 프로덕션 선택 프리티어 스토리지 20G DB 세부정보 지정 user생성, password 설정 2) EndPoint 확인 Host주소로 접속 user / pw 입력 create Database 진행 테이블 / 데이터 입력 그림으로 설명해보겠어요