Ansible (7) - Role로 playbook 재사용하고 Galaxy, Collection 쓰기
1. 개요 playbook이 커지면 한 파일에 task, 변수, handler, 설정 파일이 모두 섞인다. 웹 서버 설치 작업을 다른 프로젝트에서도 쓰고 싶다면 필요한 부분을 골라 복사해야 한다. role 은 "웹 서버 설치"처럼 한 가지 역할에 필요한 task, 변수…
TAG
8개의 글
1. 개요 playbook이 커지면 한 파일에 task, 변수, handler, 설정 파일이 모두 섞인다. 웹 서버 설치 작업을 다른 프로젝트에서도 쓰고 싶다면 필요한 부분을 골라 복사해야 한다. role 은 "웹 서버 설치"처럼 한 가지 역할에 필요한 task, 변수…
1. 개요 관리하는 서버가 늘어나면 운영체제 종류나 버전이 서로 다를 수 있다. 같은 playbook을 쓰되 "Ubuntu면 이 작업, 아니면 건너뛰기"처럼 서버 상태에 따라 다르게 동작해야 한다. 또 한 작업이 실패했을 때 전체를 멈출지, 무시하고 계속할지도 정해야…
1. 개요 Ansible (2)에서는 play의 vars: 에 변수를 정의했다. 하지만 서버마다 다른 값, 그룹 전체에 같은 값, 실행할 때만 바꾸는 값을 모두 playbook 안에 적으면 playbook을 다른 곳에서 다시 쓰기 어렵다. Ansible은 변수를 inv…
1. 개요 이전 글에서는 ad hoc 명령으로 Nginx를 설치하고 지웠다. 하지만 실제 웹 서버를 준비하려면 설치 뒤에 설정 파일을 넣고, 첫 화면 파일을 바꾸고, 서비스를 재시작하는 단계가 더 필요하다. 이 단계를 매번 명령으로 입력하면 순서를 빠뜨리기 쉽다. pl…
1. 개요 이전 글까지는 내 컴퓨터( localhost )만 대상으로 실습했다. Ansible을 실제로 쓰는 곳은 원격 서버이므로, 이번에는 SSH로 서버에 연결하는 과정부터 준비한다. 이 글에서는 관리 노드에 Ansible용 계정을 만들고, SSH 키로 비밀번호 없이…
1. 개요 이전 글에서는 디렉터리와 파일을 만드는 playbook으로 Ansible의 기본 흐름과 멱등성을 확인했다. 그런데 실제 playbook은 값이 서버마다 다르고, 같은 작업을 여러 번 반복하고, 상황에 따라 작업을 건너뛰어야 한다. 이 글에서는 그때 쓰는 다섯…
1. 개요 서버 10대에 같은 패키지를 설치하고 같은 설정 파일을 넣어야 한다고 해 보자. 한 대씩 SSH로 접속해 명령을 입력하면 시간이 오래 걸리고, 중간에 한 대를 빠뜨리거나 명령을 잘못 입력하기 쉽다. Ansible 은 이런 작업을 playbook 이라는 파일에…
1. 개요 홈서버 한 대(Ubuntu 24.04, 12스레드, 32GB RAM) 위에 가상 머신(VM) 3대를 만들고, 그 VM들로 kubeadm 쿠버네티스 클러스터를 구성한다. 손으로 VM을 만들고 노드마다 SSH로 들어가 명령을 입력해도 되지만, 그렇게 하면 같은…