Ansible 사용해서 Ec2 플레이북 배포 aws_ec2 plugin을 통해서 받아온 인벤토리에 플레이북을 사용해 아파치 서버를 설치하고 구동시키는 것을 해보려 한다. 1. 디렉토리 구조 확인 2. ansible.cfg 파일 수정 [defaults] host_key_checking= False interpreter_python=auto_silent inventory = /ansible/inventory/aws_ec2.yaml private_key_file= /ansible/file/real.pem remote_user = centos [inventory] enable_plugins= aws_ec2,yaml 인스턴스에 원격접속을 해야하기 때문에 인스턴스를 생성할 때 지정해놨던 pem 파일의 경로를 지정해 놓는다. pem 파일을 0400으로 권한 변.. Ansible 4년 전
Ansible로 오픈스택 연결하기(Dynamic inventory) 앤서블을 사용해 오픈스택 계정에 연결하여 인스턴스와 같은 정보들을 받아오려는게 목적이다. 삽질을 많이해서 간단한 작업임에도 오래 걸렸다. 참조한 문서 https://docs.ansible.com/ansible/latest/collections/openstack/cloud/openstack_inventory.html openstack.cloud.openstack – OpenStack inventory source — Ansible Documentation © Copyright Ansible project contributors. Last updated on Jun 14, 2021. docs.ansible.com https://docs.openstack.org/openstacksdk/latest/user/ .. Ansible 4년 전
AWS 앤서블로 관리하기 -1 (Dynamic inventory 생성) 동적 인벤토리를 생성 해서 내 AWS 계정에 존재하는 인스턴스를 자동으로 인벤토리에 할당하고 그것을 불러오는 작업을 할 것이다. 동적인벤토리를 사용하는 이유는 간단하다. 먼저 인스턴스를 생성할 때 ip를 고정해서 생성하지도 않을 것이고, 오토스케일 기능을 활용하다 보면 인스턴스가 줄어 들기도 하면서 늘어나기도 할 것인데 그 정보를 그때 그때 받아 들일 수 있도록 하기 위함이다. 실습은 https://devopscube.com/setup-ansible-aws-dynamic-inventory/ 을 참고하여 진행 하였다. 준비 : Centos7 (앤서블 코어 노드) 필요한 도구 : 파이썬 3.8 버전 boto3 aws 접속 키 ansible 2.11.2 ver 파이썬 3.8 버전이 필요한 이유는 aws의 리소.. Ansible 4년 전
Ansible 정적 인벤터리 시스템의 정보가 고정적이고 소규모라면 인벤터리 파일로 정의할 수 있지만, 호스트 수와 접속 정보(IP 주소)가 자주 바뀌거나 관리하는 호스트 수가 대규모일 때는 동적 인벤토리를 이용해 IaaS의 API와 각종 관리 시스템에서 동적으로 호스트 정보를 가져오는 편이 좋다. 정적 Inventory 파일을 작성하는 방법 여러 대로 구성된 시스템일 때에는 그룹화 해야한다. 1. 그룹 변수를 정의한다. 인벤토리 파일에서 호스트 단위로 변수를 정의할 수 있을 뿐만 아니라 그룹 단위로 변수를 정의할 수도 있다. 그룹 변수를 정의하는 방법은 호스트 변수를 정의할 때와 달리 [그룹 이름:vars] 형식으로 그룹 변수 전용 섹션을 사용한다. ex) 루트(root)가 아닌 작업 관리자의 이름과 UID를 각각 admin_use.. Ansible 4년 전
Playbook 모듈 작성 연습 Playbook yaml 파일을 작성하다 보면 자주 사용되는 모듈이 있다. 그것에 관해서 정리하고 실습해 봤다. shell에서 ansible 모듈의 역할을 알고 싶을 떄 $ansible-doc [모듈 이름]으로 확인해 주면 된다. 1. 파일 작업 file - 파일과 디렉터리의 상태 작업 모듈을 사용할 때 파일과 디렉토리를 생성, 삭제하고 권한을 변경할 수 있다. path: 경로를 지정하고 경로중에 없는 디렉토리가 있다면 생성을 해준다. state: directory ## 존재하지 않는 디렉토리 생성 directory 외에도 file 기본값. 아래에서 설명할 파일의 속성을 변경할 때 이용. 파일을 새로 생성하지 않고 없을 때는 에러가 발생한다 touch 파일이 없을 때 빈 파일로 생성하고 기존 파일은 타임.. Ansible 4년 전
Ansible Playbook 활용. 플레이북이란? 사전적 의미는 각본, 작전, 계획을 뜻함. 예를 들어 수천개의 서버에 웹서비스를 설치 및 기동한다고 했을 때 아래와 같은 프로세스로 진행되게 된다. nginx 웹서버 설치 → 주요 페이지 전송 → 서비스 재시작 이러한 프로세스를 정의 해놓은 것이 플레이북이다. 플레이북은 멱등성(idempotent) 이란 특성이 있는데, 여러 번 연산을 실행해도 결과가 바뀌지 않는 특성을 말한다. 출처 :https://jordy-torvalds.tistory.com/83 처음부터 설치하며 배우는 앤서블(Ansible) 강의록 앤서블 강의를 통해 배울 수 있는 것. 앤서블의 설치 및 구성 앤서블의 구성요소 앤서블을 통해 대규모 배포 실습 가능 왜 앤서블인가? 앤서블과 같은 툴을 Configuration Man.. Ansible 4년 전
앤서블 ad-hoc 활용하기 (1) 1. uptime 확인하기 ansible all -m shell -a "uptime" -k // shell 모듈을 사용, uptime 의 argument 사용 다른 노드들의 uptime 출력 2. 디스크 용량 확인 ansible all -m shell -a "df -h" -k 3. 메모리 상태 확인 ansible all -m shell -a "free -h" -k 4. 새로운 유저 만들기 ansible all -m user -a "name=hangil password=12341234" -k 5. 파일 전송하기 ansible nginx -m copy -a "src=/test.file dest=/tmp/" -k #src 앤서블 코어노드의 파일 위치, dest는 목적지 위치 6. 서비스 설치 ansible n.. Ansible 4년 전
앤서블의 구성 파일 1. 환경설정 파일 /etc/ansible/ansible.cfg ansible.cfg 우선순위 1. 현재 디렉토리의 ansible.cfg 2. $HOME/.ansible.cfg 3. /etc/ansible/ansible.cfg 2. 앤서블이 접속하는 호스트들에 대한 정보 /etc/ansible/hosts 3. 앤서블 실행 시에 옵션 값 -i (--inventory -file) 적용될 호스트들에 대한 파일 -m (--module-name) 모듈을 선택할 수 있도록 -k (--ask-pass) 패스워드를 물어보도록 설정 -K : (--ask-become-pass) 관리자로 권한 상승 --list-hosts 적용되는 호스트 들을 확인 -i 옵션에 대해 예시를 들자면 최상위 경로에 200.21의 ip를 적은 파.. Ansible 4년 전
Ansible (설치 및 ssh 연결) 레드햇 계열의 리눅스 일 경우 설치 전 yum install epel-release -y (epel 패키지 다운로드) : EPEL(Extra Packages for Enterprise Linux)은 Fedora Project에서 제공되는 저장소로 각종 패키지의 최신 버전을 제공하는 community 기반의 저장소. 버전 : Ununtu 20.04 1. ansible 서버에 접속해서 앤서블 코어를 설치. apt-get install ansible 확인 ansible -h 2. 호스트 등록 앤서블은 /etc/ansible/hosts에 있는 호스트 정보를 기본적으로 읽어간다. 서버로 쓸 컴퓨터 두대의 ip와 이름을 등록해 줬다. 서버 등록후 테스트. 기존에는 ssh연결을 하지 않았을 경우 밑에 사진 처럼 fa.. Ansible 4년 전