- Ansible 이미지 다운로드
- Windows, MacOS intel chip) docker pull edowon0623/ansible:latest (updated by 2022-09-21)
- MacOS silicon chip, m1) docker pull edowon0623/ansible-server:m1
- Windows) Ansible 컨테이너 실행 명령어 (방법1)
- docker run -itd --name ansible-server -p 20022:22 -e container=docker --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /var/run/docker.sock:/var/run/docker.sock edowon0623/ansible:latest /usr/sbin/init
- SSH 키 생성
- ssh-keygen
- ssh-copy-id root@[접속할 서버 IP]
- https://docs.ansible.com/ansible/2.9/modules/list_of_all_modules.html
docker 컨테이너 ip확인
docker network inspect bridge
docker-server 172.17.0.4
ansible-server 172.17.0.3
확인
/etc/ansible/hosts
[devops]
172.17.0.3
172.17.0.4
echo -e "[mygroup]\n172.17.0.3\n172.17.0.4" >> /etc/ansible/hosts
ansible
1.핑
ansible all -m ping
2.메모리 확인
ansible all -m shell -a "free -h"
3.파일 복사
ansible all -m copy -a "src=./test.txt dest=/tmp"
4.프로그램 설치(httpd)
ansible devops -m yum -a "name=httpd state=present"
설치된 프로세스 확인
yum list installed | grep httpd
ansible playbook
사용자가 원하는 내용을 미리 작성해 놓는 파일
(설치,파일전송, 서비스 재시작, 다수의 서버에 반복 작업 처리..)
예제1
/etc/ansible/hosts [mygroup] 내용추가
first-playbook.yml
---
- name: Add an ansible hosts
hosts: localhost
tasks:
- name: Add a ansible hosts
blockinfile:
path: /etc/ansible/hosts
block: |
[mygroup] 172.17.0.5
실행
ansible-playbook first-playbook.yml
같은 명령어 실행해도 ansible은 멱등성으로 중복처리 되지 않는다.
예제2
파일 복사
first-playbook-sample1.yml
현재 폴더에 sample.txt 만들어서 실행해 보자
- name: Ansible Copy Example Local to Remtoe
hosts: devops
tasks:
- name: copying file with playbook
copy:
src: ~/sample.txt
dest: /tmp
owner: root
mode: 0644
예제3
디렉터리 생성
톰켓 다운
first-playbook-sample2.yml
---
- name: Download Tomcat9 from tomcat.apache.org
hosts: devops
#become: yes
# become_user: root
tasks:
- name: Create a Directory /opt/tomcat9
file:
path: /opt/tomcat9
state: directory
mode: 0755
- name: Download the Tomcat checksum
get_url:
url: https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.72/bin/apache-tomcat-9.0.72.tar.gz.sha512
dest: /opt/tomcat9/apache-tomcat-9.0.69.tar.gz.sha512
- name: Register the checksum value
shell: cat /opt/tomcat9/apache-tomcat-9.0.69.tar.gz.sha512 | grep apache-tomcat-9.0.69.tar.gz | awk '{ print $1 }'
register: tomcat_checksum_value
- name: Download Tomcat using get_url
get_url:
url: https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.69/bin/apache-tomcat-9.0.69.tar.gz
dest: /opt/tomcat9
mode: 0755
checksum: sha512:{{ tomcat_checksum_value.stdout }}"
'server' 카테고리의 다른 글
kubernetes ansible (1) (0) | 2022.11.05 |
---|---|
EC2 생성 (0) | 2022.11.01 |
kubernetes 기본 (0) | 2022.11.01 |
ansible-server (0) | 2022.10.25 |
tomcat 설정 (0) | 2022.10.17 |