앤서블은 마스터 노드에 앤서블 코어만 설치하면 된다.
플레이북으로 명령을 내렸을 때 멱등성의 특징으로 중복 실행으로 인한 오류를 방지할 수 있다.
멱등성이란? 멱등성의 정의
연산을 여러번 하더라도 결과가 달라지지 않는 것
예를 들어 echo "hello seo" >> test.log라는 명령을 내렸을 때 수행할 때마다 test.log파일에 hello seo가 기록될 것이다.
하지만 ansible로 실행하면 한 번만 수행된다.
테스트 환경
CentOS7
설치방법
yum install epel-release
yum install ansible
ansible 먼저 설치시도를 하면 찾을 수 없다고 나온다.
따라서 epel-release를 먼저 설치해준다.
epel-release설치 후 ansible 설치
모든 호스트에 ping 체크를 하려는 명령어. 하지만 호스트 리스트에 명령을 내려줄 노드의 정보가 없으니 에러가 뜬다.
vi /etc/ansible/hosts에서 노드 아이피를 넣는다.
호스트에 등록된 아이피에게 ping 체크를 하는 명령어 -k는 비밀번호 검증 옵션
최초 실행 실행 시 ssh 접속을 인증 관련 요구를 하는데 yes를 쳐준다. 그러면 다음부터는 세션 연결 시 물어보지 않는다.
설치 완료 후 모든 노드에 ping을 쳐서 결과를 얻어낸 결과다.
ansible all -m ping -k
그런데 ansible명령어를 수행할 때마다 비번을 계속 입력해줘야 하는가에 대한 의문점이 든다.
일단 -k옵션을 넣지 않으면 인증을 하지 못해 명령을 수행할 수 없다.
그리고 테스트 결과 노드의 비밀번호가 모두 동일해야 한다.
동일하지 않으면 다시 물어보는 것도 아니고 그냥 실패 에러가 나오고 종료된다.
node1과 node2가 root 비번이 다르니 위와같은 결과가 나온다
일단 첫 느낌으로 설치 자체는 매우 쉽다. 각 노드에 별도 설치할 rpm도 없고.
쉘 스크립트를 이용하여 일괄 명령을 내렸었던 나로선 아직 앤서블의 강점이 안 느껴지지만
응용해서 익숙해지는 연습을 하여 나중에 활용 기회를 놓치지 않을 것이다.
'IT > CLOUD(AWS,Azure,GCP,Docker)' 카테고리의 다른 글
CentOS 7에서 Python 3.10이상 버전 사용하기 전 OpenSSL 1.1.1을 RPM으로 설치하는 방법 (0) | 2023.11.11 |
---|---|
Centos 3.11에 Python 7을 설치하는 방법 (0) | 2023.11.11 |
CentOS7 Ansible 코어 설치하기 (0) | 2023.11.11 |
k8s - master node 재시작 하기 (0) | 2023.09.17 |
[Kubernetes] App 확인 (Pod 확인) (0) | 2023.09.17 |