안녕하세요, 쯀리입니다.
오늘은 Ansible의 기본 명령어를 살펴보고 모듈들을 사용해 보겠습니다.
Ansible의 명령어 및 특징
기본 옵션
-i (--inventory-file) | 적용될 호스트들에 대한 파일정보 |
-m (--module-name) | 모듈 |
-a (arguments) | 모듈에 전달할 인수값 |
-b -K | 암호를 요청하고 더 높은 권한으로 명령을 실행 |
-user (username) | 사용자를 이용하여 현재 사용자 대신 대상호스트에 전달 |
--become-user | 이 사용자로 작업을 실행 (기본값 : root) |
-C | 시뮬레이션 |
--list-hosts | 적용되는 호스트 목록 |
● ping
ansible all -m ping
아직 docker2서버에는 key값을 복사해주지 않아서 붙지 못하는 것을 확인할 수 있습니다.
key값을 서버에도 복사해주겠습니다.
ssh-copy-id root@172.17.0.5
다시 ping을 보내주면 둘다 성공입니다.
● free -h
메모리 확인 명령어
ansible all -m shell -a "free -h"
● 파일 이동
우선 test.txt 파일을 하나 생성해주겠습니다.
touch test.txt
echo "Hello My Name is Julie" >> test.txt
devops 그룹에 만들어준 서버리스트들에 홈 디렉토리에 test.txt 파일을 복사해주겠습니다.
ansible all -m copy -a "src=[파일위치와 이름] dest=[복사해줄 위치]"
docker-server로 접속해서 확인해보겠습니다.
ssh root@172.17.0.3
● 프로그램 설치
동일하게 패키지를 설치해보겠습니다.
설치 리스트에서 httpd가 설치되어있는지 확인해보겠습니다.
yum list installed | grep httpd
서버 그룹에 httpds를 설치해보도록 하겠습니다.
ansible [ 해당 그룹 | all ] -m yum -a "name=httpd state=present"
다시 ansible서버에서 devops 그룹으로 설치 진행해줍니다.
잘 설치가 된 것을 볼 수 있습니다.
오늘은 ansible의 기본 명령어들에 관해 알아보았습니다.
다음에는 ansible-playbook에 대해 알아보고 멱등성을 확인해보겠습니다.
참조
'IT 잡지식 > DevOps' 카테고리의 다른 글
[Jenkins+Ansible] Jenkins에 Ansible 연동하기 (0) | 2023.09.22 |
---|---|
[Ansible] Ansible Playbook (0) | 2023.09.21 |
[Jenkins] IaC & Ansible 의 이해 (0) | 2023.09.19 |
[Jenkins] PollSCM과 SSH로 다른 서버 연결 (0) | 2023.09.18 |
[Jenkins] CI/CD에서 Tomcat Server 연동 (0) | 2023.09.18 |