SlideShare a Scribd company logo
1 of 11
Download to read offline
IT Automation & ConfigurationManagement
Ansible
Chef
Puppet
Google Trends : Ansible vs Puppet vs Chef
자동화 관리 도구 비교 - Ansible vs Puppet vs Chef
제품 Ansible Puppet Chef
개발사 AnsibleWorks Puppet Labs Opscode
출시 2012년 3월 2005년 8월 2009년 1월
개발언어 Python Ruby
Ruby(Client) /
Erlang(Server)
코드베이스 Ansible Galaxy Puppet Forge Chef Suermarket
WebUI O (Ansible Tower) O O
정의파일 YAML 독자 DSL / 내장 Ruby 독자 DSL(Ruby Base)
에이전트설치 X O O
확장성 O O O
간편도 상 중 중
가장 늦게 출시 되었으나 출시 이후 꾸준히 성장하고 사람들의 관심이 가장 높음.
에이전트 설치가 필요 없고, 누구나 쉽게 사용할 수 있음
Agentless Simple Powerfull
ㆍ 에이전트가 필요없는
환경.
ㆍ OpenSSH &
WinRM 지원
ㆍ 높은 보안성과
신뢰성
ㆍYAML 형식의 읽고
쓰기 쉬운 설정 파일
ㆍ높은수준의 프로그래
밍 스킬 불필요
ㆍ팀간 협업 극대화
ㆍ멱등성* 지원
ㆍ높은 생산성
ㆍ대량의 서버와 네트워크
장비 지원
ㆍ다양한 운영체제 관리
ㆍ동시에 다수의 장비에서
실행
ㆍ완벽환 구성 관리
오케스트레이션, 배포
멱등성이란??
멱등법칙(冪等法則) 또는 멱등성(冪等性, 영어: idempotent)은 수학이나 전산학에서 연산의 한 성질을 나타내는 것으로, 연산을 여러 번 적용하더라도
결과가 달라지지 않는 성질을 의미한다. – 위키백과
Ansible 모듈은 거의 대부분 멱등성을 제공하여 동일 모듈을 여러 번 실행하더라도 결과 값이 달라지지 않는다.
Ansible 특징
Ansible Architecture
HOST 정보 추가. - cat /etc/ansible/hosts
[WebServer]
192.168.0.100 ansible_ssh_user=root ansible_ssh_pass=password
---
- name: This sets up an httpd webserver
hosts: WebServer
tasks:
- name: Install apache packages
yum:
name: httpd
state: present
- name: ensure httpd is running
service:
name: httpd
state: started
- name: Open port 80 for http access
firewalld:
service: http
permanent: true
state: enabled
- name: Restart the firewalld service to load in the firewall changes
service:
name: firewalld
state: restarted
Playbook 파일 작성. - cat /etc/playbooks/Httpd.yml
Ansible 활용 예 ( httpd 설치 )
Ansible Playbook 실행.
# ansible-playbook playbooks/httpd.yml
PLAY [This sets up an httpd webserver] ***************************************************************************
TASK [Gathering Facts] *******************************************************************************************
ok: [192.168.0.100]
TASK [Install apache packages] ***********************************************************************************
changed: [192.168.0.100]
TASK [ensure httpd is running] ***********************************************************************************
changed: [192.168.0.100]
TASK [Open port 80 for http access] ******************************************************************************
changed: [192.168.0.100]
TASK [Restart the firewalld service to load in the firewall changes] *********************************************
changed: [192.168.0.100]
PLAY RECAP *******************************************************************************************************
192.168.254.134 : ok=5 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Host 서버 Ping 확인.
# ansible WebServer -m ping -k
SSH password:
192.168.0.100 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Ansible 활용 예 ( httpd 설치 )
Ansible Tower(상용버전)의 오픈소스 버전으로 RedHat에서 출시
Ansible WebUI - AWX
Ansible WebUI - AWX
Ansible WebUI - AWX
DASHBOARD Job의 최근 실행 상태를 한눈에 볼 수 있는 화면
JOBS 최근 실행한 JOB 리스트
SCHEDULES 스케줄로 등록된 Job 리스트
PORTAL MODE 등록된 Job과 실행중인 Job을 하나의 화면에서 확인 가능
PROJECTS playbook 모음을 하나의 단위로 묶어서 관리
CREDENTIALS ansible 실행을 위한 계정 관리 메뉴
CREDENTIAL TYPES 사용자 설정 인증 타입
INVENTORIES Job을 실행하는 Host 모음
TEMPLATES Inventory와 Playbook을 조합하여 실제 job이 실행되는 구성 단위
ORGANIZATIONS Users, Teams, Projects, Inventoryes의 최상위 묶음 단위
USERS AWX 사용자 관리 메뉴
TEAMS AWX 사용자 그룹 단위
INVENTORY SCRIPTS 사용자 Inventory Script 관리 메뉴
NOTIFICATIONS ansible의 실행 상태를 알려주는 알람 등록 화면
MANAGEMENT JOBS Job 리스트나 실행 상태를 관리
INSTANCE GROUPS Job을 실행하는 단위 그룹
SETTINGS AWX의 인증과 기본 Job, ansible 설정을 관리
https://www.ansible.com/ - ansible 홈페이지
Ansible 참고 URL
https://github.com/ansible/ansible - ansible Git 저장소
https://docs.ansible.com/ansible/latest/index.html - ansible 가이드 문서
https://github.com/ansible/awx - ansible awx Git 저장소
https://docs.openstack.org/openstack-ansible/latest/ko_KR/index.html
- OpenStack-Ansible 문서

More Related Content

What's hot

DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)AWSKRUG - AWS한국사용자모임
 
Ecs 파헤치기
Ecs 파헤치기Ecs 파헤치기
Ecs 파헤치기hanwool kim
 
Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온재현 신
 
onpremise환경에서 kubespray설치
onpremise환경에서 kubespray설치onpremise환경에서 kubespray설치
onpremise환경에서 kubespray설치choi sungwook
 
Data platform data pipeline(Airflow, Kubernetes)
Data platform data pipeline(Airflow, Kubernetes)Data platform data pipeline(Airflow, Kubernetes)
Data platform data pipeline(Airflow, Kubernetes)창언 정
 
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy InstallerOpenStack Korea Community
 
Red hat ansible engine 2.7 release(Korean version)
Red hat ansible engine 2.7 release(Korean version)Red hat ansible engine 2.7 release(Korean version)
Red hat ansible engine 2.7 release(Korean version)Leo Song
 
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유Kyoungchan Lee
 
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들Woong Seok Kang
 
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)Jaeyeon Kim
 
4. Application - Oozie Fork
4. Application - Oozie Fork4. Application - Oozie Fork
4. Application - Oozie Forkmerry7
 
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현iFunFactory Inc.
 
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라MinKyu Kim
 
Db프로그래밍 환경 설정(131062 장택순)
Db프로그래밍 환경 설정(131062 장택순)Db프로그래밍 환경 설정(131062 장택순)
Db프로그래밍 환경 설정(131062 장택순)TaekSoon Jang
 
20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 TensorflowSun Keun Choi
 
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 

What's hot (20)

DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
 
Ecs 파헤치기
Ecs 파헤치기Ecs 파헤치기
Ecs 파헤치기
 
Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온
 
onpremise환경에서 kubespray설치
onpremise환경에서 kubespray설치onpremise환경에서 kubespray설치
onpremise환경에서 kubespray설치
 
Data platform data pipeline(Airflow, Kubernetes)
Data platform data pipeline(Airflow, Kubernetes)Data platform data pipeline(Airflow, Kubernetes)
Data platform data pipeline(Airflow, Kubernetes)
 
Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화
 
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
[OpenInfra Days Korea 2018] (Track 1) Openstack 쉽게 설치하기 - SOfTI Easy Installer
 
Aws로 ci하기 안기욱
Aws로 ci하기 안기욱Aws로 ci하기 안기욱
Aws로 ci하기 안기욱
 
Red hat ansible engine 2.7 release(Korean version)
Red hat ansible engine 2.7 release(Korean version)Red hat ansible engine 2.7 release(Korean version)
Red hat ansible engine 2.7 release(Korean version)
 
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유
 
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
AWSKRUG DS - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들
 
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
MLOps 플랫폼을 만드는 과정의 고민과 해결 사례 공유(feat. Kubeflow)
 
Eclair
EclairEclair
Eclair
 
4. Application - Oozie Fork
4. Application - Oozie Fork4. Application - Oozie Fork
4. Application - Oozie Fork
 
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현2016 NDC  - 클라우드 시대의  모바일 게임 운영 플랫폼 구현
2016 NDC - 클라우드 시대의 모바일 게임 운영 플랫폼 구현
 
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
Packer, Terraform, Vault를 이용해 만드는 
재현 가능한 게임 인프라
 
EC2용 SSH Tool - Eclair
EC2용 SSH Tool - EclairEC2용 SSH Tool - Eclair
EC2용 SSH Tool - Eclair
 
Db프로그래밍 환경 설정(131062 장택순)
Db프로그래밍 환경 설정(131062 장택순)Db프로그래밍 환경 설정(131062 장택순)
Db프로그래밍 환경 설정(131062 장택순)
 
20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow
 
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
 

Similar to Ansible - Introduction

[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdfHeeJung Chae
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea CloudJude Kim
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3Ji-Woong Choi
 
초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정Seonghun Kang
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱NAVER D2
 
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기복연 이
 
더 빠른 게임시스템을 위하여 개선된 서비스들 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
더 빠른 게임시스템을 위하여 개선된 서비스들 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019더 빠른 게임시스템을 위하여 개선된 서비스들 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
더 빠른 게임시스템을 위하여 개선된 서비스들 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912Yooseok Choi
 
파워서포트 가이드
파워서포트 가이드파워서포트 가이드
파워서포트 가이드StartupAlliance
 
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개Tommy Lee
 
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉iFunFactory Inc.
 
Enterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configurationEnterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configurationsuk kim
 
Ansible introduction & demo
Ansible introduction & demoAnsible introduction & demo
Ansible introduction & demoYongKi Kim
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제Tae Young Lee
 
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...Amazon Web Services Korea
 
Toast cloud for beginners
Toast cloud for beginnersToast cloud for beginners
Toast cloud for beginnersTOAST_NHNent
 
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례if kakao
 

Similar to Ansible - Introduction (20)

[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
 
Oracle History #8
Oracle History #8Oracle History #8
Oracle History #8
 
초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱
 
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
『빠르게 훑어보는 구글 클라우드 플랫폼』 - 맛보기
 
더 빠른 게임시스템을 위하여 개선된 서비스들 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
더 빠른 게임시스템을 위하여 개선된 서비스들 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019더 빠른 게임시스템을 위하여 개선된 서비스들 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
더 빠른 게임시스템을 위하여 개선된 서비스들 - 김병수 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
 
파워서포트 가이드
파워서포트 가이드파워서포트 가이드
파워서포트 가이드
 
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
제2회 난공불락 오픈소스 인프라 세미나 zinst 관리툴 소개
 
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
 
Enterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configurationEnterprise Linux 7 new feature_network configuration
Enterprise Linux 7 new feature_network configuration
 
Ansible introduction & demo
Ansible introduction & demoAnsible introduction & demo
Ansible introduction & demo
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제
 
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
게임을 위한 AWS의 다양한 관리형 Database 서비스 Hands on Lab (김성수 솔루션즈 아키텍트, AWS) :: Gaming ...
 
Toast cloud for beginners
Toast cloud for beginnersToast cloud for beginners
Toast cloud for beginners
 
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례
 

Ansible - Introduction

  • 1. IT Automation & ConfigurationManagement
  • 2. Ansible Chef Puppet Google Trends : Ansible vs Puppet vs Chef
  • 3. 자동화 관리 도구 비교 - Ansible vs Puppet vs Chef 제품 Ansible Puppet Chef 개발사 AnsibleWorks Puppet Labs Opscode 출시 2012년 3월 2005년 8월 2009년 1월 개발언어 Python Ruby Ruby(Client) / Erlang(Server) 코드베이스 Ansible Galaxy Puppet Forge Chef Suermarket WebUI O (Ansible Tower) O O 정의파일 YAML 독자 DSL / 내장 Ruby 독자 DSL(Ruby Base) 에이전트설치 X O O 확장성 O O O 간편도 상 중 중 가장 늦게 출시 되었으나 출시 이후 꾸준히 성장하고 사람들의 관심이 가장 높음. 에이전트 설치가 필요 없고, 누구나 쉽게 사용할 수 있음
  • 4. Agentless Simple Powerfull ㆍ 에이전트가 필요없는 환경. ㆍ OpenSSH & WinRM 지원 ㆍ 높은 보안성과 신뢰성 ㆍYAML 형식의 읽고 쓰기 쉬운 설정 파일 ㆍ높은수준의 프로그래 밍 스킬 불필요 ㆍ팀간 협업 극대화 ㆍ멱등성* 지원 ㆍ높은 생산성 ㆍ대량의 서버와 네트워크 장비 지원 ㆍ다양한 운영체제 관리 ㆍ동시에 다수의 장비에서 실행 ㆍ완벽환 구성 관리 오케스트레이션, 배포 멱등성이란?? 멱등법칙(冪等法則) 또는 멱등성(冪等性, 영어: idempotent)은 수학이나 전산학에서 연산의 한 성질을 나타내는 것으로, 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다. – 위키백과 Ansible 모듈은 거의 대부분 멱등성을 제공하여 동일 모듈을 여러 번 실행하더라도 결과 값이 달라지지 않는다. Ansible 특징
  • 6. HOST 정보 추가. - cat /etc/ansible/hosts [WebServer] 192.168.0.100 ansible_ssh_user=root ansible_ssh_pass=password --- - name: This sets up an httpd webserver hosts: WebServer tasks: - name: Install apache packages yum: name: httpd state: present - name: ensure httpd is running service: name: httpd state: started - name: Open port 80 for http access firewalld: service: http permanent: true state: enabled - name: Restart the firewalld service to load in the firewall changes service: name: firewalld state: restarted Playbook 파일 작성. - cat /etc/playbooks/Httpd.yml Ansible 활용 예 ( httpd 설치 )
  • 7. Ansible Playbook 실행. # ansible-playbook playbooks/httpd.yml PLAY [This sets up an httpd webserver] *************************************************************************** TASK [Gathering Facts] ******************************************************************************************* ok: [192.168.0.100] TASK [Install apache packages] *********************************************************************************** changed: [192.168.0.100] TASK [ensure httpd is running] *********************************************************************************** changed: [192.168.0.100] TASK [Open port 80 for http access] ****************************************************************************** changed: [192.168.0.100] TASK [Restart the firewalld service to load in the firewall changes] ********************************************* changed: [192.168.0.100] PLAY RECAP ******************************************************************************************************* 192.168.254.134 : ok=5 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 Host 서버 Ping 확인. # ansible WebServer -m ping -k SSH password: 192.168.0.100 | SUCCESS => { "changed": false, "ping": "pong" } Ansible 활용 예 ( httpd 설치 )
  • 8. Ansible Tower(상용버전)의 오픈소스 버전으로 RedHat에서 출시 Ansible WebUI - AWX
  • 10. Ansible WebUI - AWX DASHBOARD Job의 최근 실행 상태를 한눈에 볼 수 있는 화면 JOBS 최근 실행한 JOB 리스트 SCHEDULES 스케줄로 등록된 Job 리스트 PORTAL MODE 등록된 Job과 실행중인 Job을 하나의 화면에서 확인 가능 PROJECTS playbook 모음을 하나의 단위로 묶어서 관리 CREDENTIALS ansible 실행을 위한 계정 관리 메뉴 CREDENTIAL TYPES 사용자 설정 인증 타입 INVENTORIES Job을 실행하는 Host 모음 TEMPLATES Inventory와 Playbook을 조합하여 실제 job이 실행되는 구성 단위 ORGANIZATIONS Users, Teams, Projects, Inventoryes의 최상위 묶음 단위 USERS AWX 사용자 관리 메뉴 TEAMS AWX 사용자 그룹 단위 INVENTORY SCRIPTS 사용자 Inventory Script 관리 메뉴 NOTIFICATIONS ansible의 실행 상태를 알려주는 알람 등록 화면 MANAGEMENT JOBS Job 리스트나 실행 상태를 관리 INSTANCE GROUPS Job을 실행하는 단위 그룹 SETTINGS AWX의 인증과 기본 Job, ansible 설정을 관리
  • 11. https://www.ansible.com/ - ansible 홈페이지 Ansible 참고 URL https://github.com/ansible/ansible - ansible Git 저장소 https://docs.ansible.com/ansible/latest/index.html - ansible 가이드 문서 https://github.com/ansible/awx - ansible awx Git 저장소 https://docs.openstack.org/openstack-ansible/latest/ko_KR/index.html - OpenStack-Ansible 문서