본문 바로가기

ansible6

[41일 차] 21.09.15 : Ansible 5(AWS, VPC), AWS 1 1교시 지금까지는 테스트를 위해 Vagrant 환경에서 실습했지만, 실제 상황에서는 AWS 환경에서 하게 될 것이다. 앤서블 노드는 AWS 인스턴스가, 앤서블 서버는 AWS 인스턴스나 호스트 PC로 하게 될 것이다. -> 앤서블을 Windows에서 사용하기는 어렵다. 그래서 Windows에서 앤서블을 사용하는 방법 중 하나로 WSL을 사용하는 방법이 있다. -> Windows Subsystem for Linux Windows 기능 켜기/끄기로 들어가서 -> Linux용 Windows 하위 시스템 -> 가상 머신 플랫폼 2개 체크하고, 재부팅 후 설치 완료. AWS SAA 자격증을 슬슬 준비하는 것이 좋을 것이라고 하셨다. 뜨끔. 받은 VCE 파일 중 manager 실행하면 덤프 문제 풀기 가능. 2교시 .. 2021. 9. 15.
[40일 차] 21.09.14 : Ansible 4(Handler, Templates, vars, Roles) 1교시 6장 후반부 - 네트워크 서버 부분은 넘어가지만, 432 페이지의 문자열 인덱싱/슬라이싱은 자동화에 있어서 필요한 부분이니 알아두고 넘어갈 것. ansible.cfg가 있는 경로 ansible 기준으로 root다. 자주 작업할 내용에 대해 동적으로 정보를 수집하는 플레이북을 여러 개 만들어 놓으면, 매 작업마다 새로 만들 필요가 없다. 작업 시에 필요한 기능을 가진 플레이북을 불러오면 되는 것이다. -> 재사용이 가능한 플레이북 Handler : 작업을 도와주는 역할 1. 전 단계가 정상적으로 이루어졌을 경우에 동작 2. 변경 사항이 발생한 경우에만 동작 -> 더 효과적으로 동작하는 코드 교재의 코드(438 페이지)를 보면 handler를 추가했다. -> 핸들러가 들어간 파일을 2번 실행해 보면,.. 2021. 9. 14.
[39일 차] 21.09.13 : Ansible 3(전자 서명 자동 구축, 동적 구성) 1교시 모듈에 대해서는 https://docs.ansible.com/에서 찾아보자. vagrant up을 실행 시 vagrant VBoxManage.exe 에러가 발생했다면 작업 관리자에서 Virtualbox headless frontend를 종료시킨 후 재실행해보자. Windows는 원격 접속 시 WinRM이라는 프로세스로 진행한다. SSH가 없다는 뜻. ansible-server에서 ans windows -m ping -k로 접속도 안된다. Windows 노드와의 통신을 위해서는 WindRM 설치가 권장된다. 앤서블 서버와 노드의 통신을 위해서는 1. 프로토콜 2. 프로토콜이 사용하는 포트 3. 사용자 의 3가지 조건이 필요하다(교재 p. 186 ~ 198). 그래서 3 조건을 생각하면 1. 프로토콜.. 2021. 9. 13.
[Ansible/Vagrant] 정리 1 중점은 Ansible이다. Vagrant는 앤서블 실습 시 인프라를 빠르게 만들고 없애기 위한 도구일 뿐이다. 즉, 베이그란트 설정은 굳이 외울 필요 없다. 실습은 베이그란트 - 앤서블 - VirtualBox의 연계로 진행한다. 앤서블은 시스템/인프라/노드를 어떻게 구축할 것인지에 대한 내용인 '레시피'를 '플레이북' 파일에 작성해서 실행할 것이다. -> 플레이북 파일은 yml 확장자를 사용한다. 야믈(YAML)이라고 한다. --- 로 시작해서, 블럭 단위로 작업할 시스템을 구분한다. hosts로 지정. 작업명을 작성하고, 모듈명과 명령어를 작성한다. 공백 하나하나에 굉장히 민감하니 주의 쉘 모듈 예시 - name: shell module example 1 shell: "명령어" - name: shell.. 2021. 9. 12.
[38일 차] 21.09.10 : Ansible 2 1교시 + vagrant가 각 vm의 개인키, 공개키를 만든다. 이 중 공개키는 각 vm에 전송된다. 그래서 vagrant에서 각 장비에 접속하는 것이 쉽다. 각 머신들로는 SSH 접근은 가능하지만, 전자 서명 방식으로만 접근 가능. 패스워드 접근 불가 교재는 패스워드 인증을 yes로 바꾸는 프로비저닝을 node들에만 적용했는데, 수업에서는 server에도 적용했다(p. 135). 베이그란트는 각 vm에 접속을 쉽게 할 수 있지만, server가 node들에 접근하려면 known_hosts에 등록하기 위해 ans all -m ping을 실행하고 yes를 입력해줘야 한다. 장비의 수가 늘어난다면 쓰지 못할 방식이다. 그래서 교재(p. 136)에서는 server에 known_hosts를 자동으로 등록하는 코.. 2021. 9. 10.
[37일 차] 21.09.09 : Ansible 1(Playbook 개념, Vagrant 설치 및 기초) 1교시 레시피를 하나로 파일로 만든 것이 플레이북. 해당 플레이북을 앤서블로 뿌리는 것. 모듈 'service' ex) ansible all -m service -a "name-httpd state=started" -k Playbook 여러 단계가 필요한 작업을 수행하기 위한 파일. 미리 정의된 작업을 수행하는 절차적 의미 코딩을 YAML로 할 수도 있고, JSON으로 할 수도 있지만, 우리는 전자의 방식으로 학습할 것이다. 플레이북은 ansible-playbook이라는 파일(명령)로 실행된다. 실습을 위해 노드들에 설치된 httpd 삭제 : ansible all -m yum -a "name=httpd state=absent" -k nginx로 실습 진행 예정. 들여 쓰기(스페이스 2번)가 중요! 처음의.. 2021. 9. 9.