인프라/Ansible 12

Ansible-playbook 여러 디렉토리 확인 후 해당 디렉토리에 파일 전송하기

상황을 간략하게 설명하자면, 이런 상황이 생길 수 있다고 가정했습니다. 예를 들어, 한 서버 (target)에 apache, tomcat을 사용한다고 생각해봅시다. 이 때에, tomcat은 인스턴스를 2개 사용합니다. 생각해보면, 한 물리 서버에 인스턴스 2개인 tomcat이 존재하는 겁니다. 이 때 tomcat을 업데이트 한다고 가정하겠습니다. 그렇다면, copy 혹은 template 명령어를 가지고 target 서버 내의 tomcat 두 디렉토리에 설정 파일을 전송해야 합니다. 어떻게 작성 할 수 있을 까요? 저는 아래처럼 작성 했습니다. - name: set tomcat config template: src: "roles/{{ host }}/templates/{{ item }}-server.xml...

인프라/Ansible 2022.05.13

Remove Ansible-tower on CentOS7

해당 정보는 몇 년전에 문의 했던 내용입니다. centos에 ansible-tower trial 버전을 설치 했으나, 라이센스 자체가 실험용으로만 써야하고, 실무에 직접 쓰게 되면 안된다는 조항이 있더라. 그래서 삭제하려고 보니 또 설치때와는 다르게 가이드 자체가 없어서 헤맸는데, 그리하여 결국 레드햇에 SOS 때렸다. 그랬더니 전화와 이메일로 응답이 왔고, 그 뒤에 개발자가 메일을 주었다. 아래 방법으로 시도해보자! Resolution Although there is not an official procedure to uninstall Ansible Tower, and the following procedure may not remove every file installed in the complete..

인프라/Ansible 2022.05.13

Ansible 사용하면서 삽질 경험, 약간의 팁

예약어를 변수명으로 썼을때 이슈 예약어가 존재하는데, 예약어를 변수명으로 쓰면 arguments를 넘겨줘도 값 대입이 안된다. ex) host_vars/main.yml role: “{{ role_name }}”-e “role_name=test” 했더니 값에 role에 해당하는 이름이 계속 들어가서 알게 됨. ansible -m shell 모듈 관련 ansible -m shell로 tomcat을 실행시켜도 모듈 실행이 끝나면 꺼지는데, nohup을 같이 줘야 하는 이유는 왜일까… shell script file자체가 daemon으로 실행하는데도…? 이 부분은 검색을 해야봐야 할듯. roles 하위 role에 remote_user 지정 경고 [DEPRECATION WARNING]: Using 'rem..

인프라/Ansible 2020.11.07

Ansible로 Tomcat 설정 파일을 선택적으로 배포 해보기

ansible의 기초 지식이 있다는 전제 하에 설명을 진행 합니다. 우선 아래와 같은 구조가 있다고 생각하자. ansible-playbooks - group_vars - host_vars - inventory - roles - deploy_config - pc - api - mobilerole기반의 playbooks를 모아두기 위한 구조이다. 내가 속한 팀에서 위와 같은 디렉토리 구조를 잘 쓰고 있다. (더 좋은 방법이 있다면, 알려주시면 좋겠습니다.) tomcat, apache, nginx, logstash, elasticsearch, kafka등과 같은 모든 툴들에는 설정 파일이 필요하다. 그리고 관리 해야 하는데, 나는 주로 해당 서버에 쓰이는 설정은 같은 디렉토리에 넣어둔다. pc에 관련한 tom..

인프라/Ansible 2020.04.08

[짠내나는 팁] hostname과 nginx server domain mapping 삽질(찬조출연: ansible)

왜 이런 삽질을 시도 했나? 회사에서 개발 서버들은 모두 VM(Virtual Machine)을 사용하고 있다. 그런데, 이것도 사실 비용이기 때문에, 여러 개발 서버를 모두 띄우기 쉽지 않다. (물론, 요즘은 도커를 이용하는 방법이 있다.) 다만, 배보다 배꼽이 더 큰 환경 설정이 필요로 하다. 그럴때는 그냥 가상 머신이 제일 간편한데, 보통은 서버수는 적게 받아 가상 호스트를 이용해 개발 서버를 여러대인 것 처럼 사용한다. 대다수의 서버들을 환경 설정 자동화를 하곤 했는데, 서버가 몇 없는 개발 서버만 유독 수작업을 해줘야 했다. (사실 찾아보기 귀찮았다.) 그래서 가상 호스트 도메인과 호스트 네임을 이용해 nginx server의 server_name을 설정 하는 방법을 찾았다. (예전에는 왜 이런 ..

인프라/Ansible 2020.01.08

mod_rpaf module 모듈 ansible로 설치 하기

mod_rpaf 모듈이 필요한 경우 apache 2.2.x를 사용하는데, proxy server를 거치는 경우 client-ip가 바뀐다. 그럴때, 해당 모듈을 사용하면 되는데, apache 2.4.x에서는 mod_remoteip.so가 아마 있어서 해당 모듈을 사용하면 된다. apache httpd 2.2.x를 사용하는 경우 설치 (with ansible) ansible-playbook을 기준으로 하는데, 보통 role을 구성해서 사용하는 편이다. 그러나, 해당 작업은 apache setting과의 의존이 있기 때문에 하나의 task로 분리해서 만들었다. 원래는 role을 구성하는 것이 더 좋다. ansible-playbook을 어떤 것인지 모르겠다면, ansible document를 참고 하면 된다...

인프라/Ansible 2019.07.20

Ansible-playbook으로 tomcat update 하는 tip

Ansible-playbook 여러 디렉토리 확인 후 해당 디렉토리에 파일 전송하기상황을 간략하게 설명하자면, 이런 상황이 생길 수 있다고 가정했습니다. 예를 들어, 한 서버 (target)에 apache, tomcat을 사용한다고 생각해봅시다. 이 때에, tomcat은 인스턴스를 2개 사용합니다. 생각해보면, 한 물리 서버에 인스턴스 2개인 tomcat이 존재하는 겁니다. 이 때 tomcat을 업데이트 한다고 가정하겠습니다. 그렇다면, copy 혹은 template 명령어를 가지고 target 서버 내의 tomcat 두 디렉토리에 설정 파일을 전송해야 합니다.어떻게 작성 할 수 있을 까요? 저는 아래처럼 작성 했습니다.- name: set tomcat config template: src: "roles..

인프라/Ansible 2018.08.10

[정리] 앤서블 철저 입문

플레이북 실행 속도를 높이기 위한 tip파이프라이닝으로 SSH 처리 수 줄이기일반적으로 앤서블은 task 실행마다 SSH명령을 여러번 실행(임시 디렉토리 생성, 모듈 스크립트 전송, 모듈에 실행 권한 부여, 모듈 실행 + 삭제)하지만, 파이프라이닝 설정을 활성화화면, 모듈 스크립트의 전송을 처리할 필요가 없어진다. 곧, SSH처리 수가 감소하여 (모듈 실행만으로 완료) 성능 개선으로 연결될 수 있다. 즉, 이 설정을 SSH를 통해 모듈을 실행하는 모든 경우에 유효하여 항상 활성화 해두는 것이 좋다. [ssh_connection] pipelining = True 파이프라이닝이 기본적으로 비활성화 된 이유는 sudo를 이용해 관리자 권한으로 실행할 때, sudoers 설정 파일에서 requiretty를 비활..

인프라/Ansible 2018.02.08

Ansible GUI Tool install - Semaphore

Semaphore 설치 경험기.md Ansible GUI Tool #1 - Semaphore 설치 경험기사실 원래, Ansible Tower라는 막강한 툴이 있으나, 생각보다 정말 많이…비싸다.그래서 대안으로 Open Source Project인 Semaphore를 설치하기로 했다. 그런데, 가이드는 정말 간단했다. 그래서 더 불안했다.Semaphore InstallSemaphore Project위 위키 페이지를 가면, 아래와 같은 Install 가이드를 준다. Copy download link for your OS from Releases page(linux) curl -L > /usr/bin/semaphoreRun semaphore -setupContinue setup (see belo..

인프라/Ansible 2017.09.26

Ansible의 사용기 후기

Ansible의 사용기 후기 노가다 후기라고 해야 할지, 삽질이라고 해야 할지 그냥 둘다.. unarchive 이 모듈에 대해선 할 말이 참 많다. 이 모듈은 자그마치 메이저 버전이 v1 에서 v2로 왔음에도 버그가 존재한다. 이를 테면, 압축 파일 내에 디렉토리 하위 디렉토리 구조라면, 하위 디렉토리의 owner에 대한 지정하는 옵션이 적용 되지 않는다. 이미 Github Issue에 나도 여전히 안된다고 리포트를 올리긴 했다. 인프라 구성 설정 관리 툴 도입에 대한! Ansible이 모든 것을 해줄 것 같지만, 생각보다 서비스 하는 서버의 구성을 자동화 한다는게 생각보다 쉽지는 않다. 우선, Ansible이든, Chef 혹은 Puppet이라는 Automation Infra Tool을 도입하려 한다면,..

인프라/Ansible 2017.09.16
반응형