ansible 7

DB 서비스가 실행 중인지 확인하는 Ansible 코드

DB 엔진을 설치할 때 이미 DB가 실행되고 있는 경우가 있다. 가끔 IP기반으로 설치하다보니 서비스를 중복으로 설치하는 분들이 있어서 방어 코드를 추가 하였다. defaults/main.ymldb_port_check: - 1433 - 3306 - 27017 . . . tasks/port_check.yml- name: netstat shell: | /bin/netstat -tln | grep ":{{ item }} " | sed -e 's/.*\///' register: netstat_result with_items: - "{{ db_port_check }}" - name: result set_fact: process_result: "{{ netstat_result.results | map(attribu..

Devops/Ansible 2023.03.17

Windows에서 Ansible 사용하기

Windows서버에 원격으로 작업하기 위해서 WinRM 을 사용한다. WinRM은 SOAP 베이스 프로토콜로 HTTP/HTTPS로 통신하며 최신 Windows 운영체제 (Windows Server 2012부터 default enabled) 에서 사용가능하다. Ansible은 pywinrm 패키지를 통하 WinRM을 사용하며 따로 설치해 주어야 한다. 또, Ansible의 Windows 서버 인증을 위한 여러가지 방법이 있는데 여기서는 Domain 계정 접속을 위해 Kerberos 인증 방식을 사용하였다. OptionLocal AccountsActive Directory AccountsCredential DelegationHTTP Encryption Basic Yes No No No Certificate ..

Devops/Ansible 2019.06.25

systemctl로 mongodb 서비스모드로 시작하기

MongoDB를 systemctl 서비스모드로 시작하기 mongodb.service 파일을 생성 $sudo vim /lib/systemd/system/mongodb.service [Unit] Description=mongodb After=network.target [Service] User=root Group=root LimitNOFILE= LimitNPROC= ExecStart=/home/mongodb/mongodb/bin/mongod --config /etc/mongodb.conf [Install] WantedBy=multi-user.target 생성된 파일을 symlink 등록 $sudo ln -s mongodb.service /etc/systemd/system/mongodb.service pers..

Database/MongoDB 2019.06.11

Ansible : Public Key 자동 배포

Ansible은 remote 서버로의 명령어 실행 시 key를 통해 접속을 시도할 경우 ~/.ssh/authorized_keys 디렉토리에 public key를 배포해야 한다. 아래 페이지는 https://medium.com/@visualskyrim/ansible-playbook-deploy-the-public-key-to-remote-hosts-da3f3b4b5481 에서 발췌 Manual 수동 배포 cd ~ ssh-copy-id ansibleUSER@remoteServer 확인 cd .ssh cat known_hosts 정상적으로 배포되었다면 ~/.ssh/known_hosts에 원격 서버 정보가 등록된다. Ansible Playbook으로 배포하는 방법 실행 (1회 비밀번호 타이핑 필요) ansibl..

Devops/Ansible 2019.04.12

Ansible Roles

아래는 https://docs.ansible.com/ansible/2.4/playbooks_reuse_roles.html#embedding-modules-and-plugins-in-roles 다음 페이지를 참조하였음. Role은 특정 vars_files, tasks, handler를 파일 구조에 맞게 자동으로 가져온다. Role로 Grouping 되어 있으면 공유가 쉬운 장점이 있다. Role 디렉토리 구조 Role은 다음 디렉토리를 꼭 포함해야 하며, 사용하지 않으면 포함하지 않아도 된다. 사용할 경우 각 디렉토리(defaults, handlers, meta, tasks) 에 main.yml 파일은 꼭 포함되어야 한다. tasks : role에 의해 실행되는 main task list handlers ..

Devops/Ansible 2019.04.12