DevOps

20 개의 Ansible 인터뷰 질문

이 글은 Arie Bregman 씨의 “20 Ansible Interview Questions” 을 번역한 것입니다. 질문1 Ansible 에서 다음 각각의 컴포넌트에 대해서 이들 사이의 관계를 포함해 설명하시오. Task Module Play Playbook Role Answer 이 질문은 당신이 Ansible 의 기본적인 컴포넌트에 익숙한지 않한지, 그들이 어떻게 상호작동 하는지를 체크한다. 나는 이것이 우리가 Ansible 로 하고자하는 모든 것에 기본인만큼 매우 중요한 것임을 알았다. Task – 특정 Ansible 모듈(Module) 호출하기 Module – 여러분의 호스트나 원격 호스트에서 Ansible 에 의해서 실제 실행되어지는 코드의 묶음. 모듈들은 카테고리로(database, file, network, […]

DevOps

[Ansible] hosts did not meet host_list requirements 메시지 처리하기

Ansible 을 사용할때에 인벤토리 파일에 대해서 가끔 “hosts did not meet host_list requirements, check plugin documentation if this is unexpected” 메시지를 보게 된다. 이 메시지는 ‘ansible -vvv ‘ 처럼 -v 옵션을 주면 보인다. 이 메시지는 인벤토리 파일 형식으로 인한 것으로 ini 형식을때에 주로 나온다. 하지만 인벤토리 파일 형식이 ini 형식임을 ansible 이 인지하지 못해서 벌어지는 일인데, 이는 ansible.cfg 파일에 다음과 같이 함으로써 없앨 수 있다.

Uncategorized

한국 직장에 고질병

한국의 조직의 고질병은 능력있고 성실한 사람에게 보상을 주기는 커녕 일을 더 준다는 것에 있다. 그래서 능력있는 사람은 못 견디고 떠나가고 능력없는 사람은 일도 없고 스트레스도 없으니가 조직에 오래 남을 수 있음. 결국 무능한 사람만 남은 무능한 조직이 된다.. 일은 일잘하는사람에게 밀어주고 진급은 술잘마시는 사람에게 시켜주고 … 이것이 한국 직장 병패임.   똑똑하고 일 잘하고 회사를 위한 합당한 이의제기를 하는 사람 보다 윗 사람의 말에 절대 반기안들고 YES만 하는 사람이 오래다니죠 사장 옆에는 항상 항상 그런 사람이 있더라구요…   대부분의 조직에서 […]

DevOps

Ansible fingerprint 접속 오류.

서버에 맨 처음 SSH 접속을 시도 하면 다음과 같은 오류가 발생한다.

이를 해결하기 위해서는 다음과 같이 환경변수를 지정해 주면 된다.

혹은 ~/.ansible.cfg 파일에 다음과 같이 지정해도 된다.

 

DevOps

Ansible Inventory 에 대해

Ansible 에서 Inventory 라고 하면 리모트 서버에 정보 리스트를 말한다. 이를 대부분 파일로 저장해서 보관하는데 이를 Inventory file 이라고 부른다. Inventory: (특정 건물 내의) 물품 목록, … 의 목록을 만들다. 리모트 서버 접속 목록을 Inventory  라고 보면 된다. INI vs Yaml Ansible Inventory 파일의 형식은 INI 와 Yaml 형식 두가지를 지원한다. INI 형식은 대략 다음과 같다.

브랏켓(Bracket, ‘[]’) 감싼 것은 서버의 그룹을 말한다. 그리고 그 그룹내에 접속하고자하는 서버들의 정보를 입력해준다. 간단하게 서버의 이름을 입력해주면 된다. Yaml 형식은 다음과 같다. […]

ElasticSearch

ElasticSearch Multi Instance 설치.

ElasticSearch 도 Tomcat 과 같이 Multi Instance 설치를 지원한다. 이는 ES_HOME의 쉘 환경 변수를 지정함으로써 실현된다. Tomcat 의 경우에는 CATALINA_HOME, CATALINA_BASE 였다. 대신 ElasticSearch 에서는 ES_BASE 가 없다. ENV 변수 ElasticSearch 에서 사용하는 환경변수는 다음과 같다. ES_HOME: elasticsearch 바이너리 설치 위치. ES_PATH_CONF: elasticsearch 설정파일이 있는 디렉토리 위치. ES_TMPDIR: elasticsearch 임시 디렉토리 위 두 변수를 가지고 MultiInstance 구성을 할 수있다. ES_HOME 설치 ES_HOME 설치는 elasticsearch 의 바이너리를 압축해제함으로써 끝이 난다.

/opt 디렉토리에 압축을 해제한 후에 심볼릭링크를 걸어준다. ES_BASE 생성 ES_BASE […]

Uncategorized

AWS 를 국내 기업도 다 하고 있다고???

국내기업과 세계적인 글로벌 기업인 AWS 와 기술력 별 차이가 없다고??? 기술력에 별차이가 없다라…. AWS 의 경우 가상화기술인 Xen 에 많은 기술적인 기여를 하고 있는데, 기술력으로 별차이가 없다는 국내기업은 무엇을 하고 있나? NoSQL 로 유명한 DynamoDB 를 만들었고 MySQL 코어를 수정해 Auroa DB 를 제작.. PostgreSQL 기반으로 RedShift 도 만들었다. 기술력에 별차이가 없다는 국내 기업은 과연 무엇을 만들 수 있나? AWS, MS가 제공하는 서비스를 제공하고 있다고?? AutoScaling 서비스를 제공하는 업체가 있는가? ALB(Application ELB) 를 제공하고 Web Console 에서 제어가 가능한가? 국내 […]

Installation

Python – easy_install, pip 설치하는 방법

Python 에서는 easy_install, pip 를 설치하는 방법중에 하나가 ‘get-pip.py’ 스크립트를 이용하는 것인데, 다음과 같다.

wget, curl 과 같은 프로그램을 이용할 수 없을 경우에 python 프로그램을 이용할 수도 있다. python3 의 경우에는 다음과 같다.

python2 의 경우에는 다음과 같다.

  한줄짜리 python 프로그램으로 get-pip.py 를 다운받고 설치를 해준다. ‘–user’ 는 사용자 홈 디렉토리를 설치 디렉토리로 삼게 한다.  

Uncategorized

[펌,수정]기업이 좋은 직원을 잃는 과정… ㄷㄷㄷㄷㄷㄷ

사원 A 입사 (9월) 사원 B 입사 (12월) 3개월 정도 차이지만 A 는 코딩자체에 흥미도 없고 프로젝트 이해력도 떨어지고 심지어 노력도 안함. 문서 제한일이 다가와서 다들 야근 할 때도 자기가 할 일은 다 하지도 않은 채 자기는 칼퇴주의라며 칼퇴. 결국 그 사람 일 다른 사람이 맡아서 하고 그러다보니 또 다른 팀원은 야근 ㅋ B 는 코딩을 좋아하고 이해력이 좋음. 빨리 적응했고 그러다보니 출장 관련 업무도 다 함. 잦은 출장을 가게되고 조그마한 파트도 맡아서 진행. 팀장은 믿는다면서 여러 일을 더 맡김ㅋ […]

Linux

systemd –user 사용하기

Systemd 는 기존 리눅스 시스템에서 사용해왔던 init script 를 대체한다. 배포판마다 적용된 버전이 다른데, CentOS에 경우에는 7 버전부터 Ubuntu 의 경우에는 16.04 부터 적용되기 시작했다. Systemd 는 부팅과정에서 최초로 실행되는 프로세스이며 리눅스 시스템 전체를 움직하게 하는 프로세스이다. 이 프로세스는 또 다른 프로세스들을 제어하는데 이를 위해서 systemd 프로그램을 제공한다. 부팅과정에서 자동으로 데몬들을 실행시키는 것도 systemd 가 하는데 이 프로그램은 데몬에 대한 명세서인 unit 파일을 기반으로 실행을 시켜준다. 이러한 파일들은 전역 시스템 영역에 속한다. 전역 systemd 영역 전역 systemd 영역의 파일들은 다음에 […]