pubkey 생성
타겟서버에 디렉토리 및 파일 생성
로컬 pubkey 복사하여 타겟 서버에 추가
기타
ansible-playbook -i ../int/test.inv remote-deploy -k
---
- name: ansible pubkey copy
hosts: centos
vars:
home_path: "centos"
tasks:
- name: make directory
file:
path: "/home/{{ home_path }}/.ssh"
state: directory
- name: create empty file
file:
path: "/home/{{ home_path }}/.ssh/authorized_keys"
state: touch
- name: read id_rsa.pub
connection: local
command: "cat /home/{{ home_path }}/.ssh/id_rsa.pub"
register: id_pub
run_once: true
- name: lineinfile for authorized_keys
lineinfile:
path: "/home/{{ home_path }}/.ssh/authorized_keys"
line: "{{ id_pub.stdout }}"
유저 및 그룹 생성
node_exporter 복사 및 권한 설정
---
- name: install-node-exporter
hosts: centos
become: yes
vars:
ansible_become: yes
ansible_become_method: su
ansible_become_pass: 'test123'
create_user: "node_exporter"
src: "/home/gamepub/node_exporter"
dest: "/usr/local/bin"
system: "/etc/systemd/system"
tasks:
- name: Create group
group:
name: "{{ create_user }}"
state: present
- name: test debug
debug:
msg: "{{ create_user }}"
- name: Create user
user:
name: "{{ create_user }}"
group: "{{ create_user }}"
state: present
createhome: false
- name: copy node_exporter
copy:
src: "{{ src }}/node_exporter"
dest: "{{ dest }}"
- name: copy node_exporter service
copy:
src: "{{ src }}/node_exporter.service"
dest: "{{ system }}"
- name: mode 755 node_exporter file
file:
path: "{{ dest }}/node_exporter"
state: file
mode: "0755"
- name: service started node_exporter
systemd:
name: node_exporter
enabled: true
state: started
daemon_reload: yes
"Failed to execute operation: Invalid argument" 메세지가 뜬다면
prometheus.service 파일을 다시 확인하자 (붙혀넣는 과정에서 파일에 문자 인코딩이나 필요 없는 공백 철자 오류 등이 있을 수 있음)
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target