Ansible
Last updated
Last updated
ansible 서버에서 다른 서버로 접속시 비밀번호 없이 접속
Ansible 명령어
실행옵션
멱등성 : 같은 설정을 여러번 적용하더라도 결과가 달라지지 않는 성질
Ansible 모듈 + Playbook
Ansible 서버에서 한번만 실행하면, 동일한 target 서버에 실행/제어할 수 있다는 특징
단순한 설치, 환경설정, 상태값 부여 모두 가능해짐
ansible 서버와의 연결상태 확인하기
ansible로 연결된 서버 메모리 확인하기
ansible 을 이용한 파일 복사
centOS , 설치된 패키지 있는지 확인
ansible 을 이용한 devops 그룹명에 yum으로 httpd를 지금 바로 다운로드
Ansible Playbook
Ansible Playbook은 Ansible을 사용하여 원격 시스템에 대한 자동화 작업을 정의하는 YAML 파일
시스템설정, 패키지 설치, 파일 전송, 서비스 재시작/관리 등 여러가지 정의
다수의 서버에 반복 작업을 처리하는 경우
Playbook
$ vi first-playbook.yml 작성
$ ansible-playbook first-playbook.yml
$ cat /etc/ansible/hosts
ansible yml 파일 실행 : ansible-playbook first-playbook.yml
특정 경로의 특정 파일에 데이터 추가
특정 경로에 현재 ansible서버 디렉토리의 특정 파일을 copy해서 등록
특정 경로에 특정 인터넷 경로 다운로드
전 : ssh copy를 통해서 복사한 후 도커에서 컨테이너를 실행하는 방법
→ 단점 : docker 에 직접적으로 이런 작업을 하면 기존 container 재실행시 문제발생(이미지, 컨테이너 삭제 후 다시 실행)
후 : ansible을 통해서 배포하기. (멱등성)
jenkins war파일 → ansible로 복사
target을 host파일에 등록
복사 war파일을 제어, jenkins로
하지만 테스트시 delete image, container 후 ansible 실행 해봐야함.
(두번째 컨테이너는 동작x, 첫번째 컨테이너만 동작하는 경우 발생 가능.)
container - stop & rm , image - rmi
Ansible을 이용한 로그인 관리(24.02.14)
ansible-playbook로 hosts파일을 실행하면서 create-cicd-devops-image.yml 파일을 실행함. 다만 172.17.0.4 실행시 중복 실행(리소스낭비)하니까 limit으로 172.17.0.2 이것만 실행
새로운 item 생성
정리
생성, 업로드, 삭제
create-cicd-devops-container.yml 은 docker-server에서만 실행했었음.
컨테이너 중지,삭제, image 삭제, docker-hub image download, container image 생성