안녕하세요, 오늘 내용은 앤서블을 활용하여 보안 설정을 하는 내용을 다룹니다. 사전 준비 1) 유저 생성 먼저 유저를 생성합니다. 아래와 같이 디렉터리를 생성하고, cfg 파일과 inventory 파일을 작성해 줍니다. # mkdir ~/my-ansible/chapter_09.1 cd ~/my-ansible/chapter_09.1 # ansible.cfg, inventory 파일 작성 cat > tnode1
앤서블
앤서블로 접근하기 위한 대상 서버(tnode1~3)들은 이미 제어 노드(server)의 인벤토리에 등록되어 있습니다. - ansible.builtin.hostname 모듈 : 호스트명 설정에 사용합니다. - ansible.builtin.lineinfile 모듈 : 호스트명을 hosts 파일에 추가할 때 사용 - /etc/hosts 에 tnode 정보들을 등록하기 위해 필요한 정보들을 변수로 정의합니다. 1) 프로젝트 디렉터리 생성 및 ansible.cfg, inventory 파일 작성 chapter_10.2/.. # mkdir ~/ansible-project/chapter_10.2 cd ~/ansible-project/chapter_10.2 # ansible.cfg, inventory 파일 작성 cat
이번 내용의 플레이북 구성도는 다음과 같습니다. 사전 분석 NTP 서버 주소는 메인 플레이북에서 정의한다. 운영체제가 Ubuntu면 apt 모듈을 사용하여 chrony를 설치한다. 운영체제가 CentOS/레드햇이면 dnf 모듈을 사용하여 chrony를 설치한다. Jinja2 템플릿 방식의 chrony.conf 파일을 대상 호스트로 복사한다. 설정 파일이 복사되면 chrony 서비스를 재시작한다. 다음에도 사용할 수 있도록 롤을 이용하여 설계하고 작성한다. 플레이북 설계 chrony를 서로 다른 운영체제에서 각각의 모듈을 이용하여 설치할 것이므로 롤을 생성하고 호출하는 방식으로 작성합니다. - vars : chrony 서비스 설치를 위한 롤에서는 변수를 정의,, - templates : 환경 설정 템플릿 ..
이번에 다룰 내용의 요지는 다음과 같습니다. 사전 분석: 사용자 아이디는 외부 변수로 받습니다. Ansible 서버에서 ansible 계정을 만들고 SSH 키를 생성합니다. Ansible 서버에서 생성된 SSH 공개 키를 각 tnode 호스트로 복사합니다. 계정을 생성할 때는 ansible.builtin.user 모듈을 사용하며, SSH 공개 키를 복사할 때는 ansible.posix.authorized_key 모듈을 사용합니다. 플레이북 설계: 앤서블 공식 문서의 콘텐츠 컬렉션에서 SSH 키 생성 모듈과 SSH 키 복사 모듈을 찾습니다. 플레이북 명은 create_sshkey.yml로 설정하고, 두 가지 주요 태스크를 가집니다: - 'Create ssh key'와 'Copy SSH Pub Key'. '..
안녕하세요, 오늘은 앤서블을 활용해서 사용자 계정을 생성하는 방법을 알아보겠습니다. 플레이북 구성 예시는 위와 같습니다. 위의 구성을 통해서 진행해 볼 내용은 사용자 계정과 패스워드는 Vault를 이용해 암호화 처리할 예정입니다. 먼저, 1) 플레이북 생성 - 프로젝트 디렉터리 생성 및 ansible.cfg, inventory 파일을 작성합니다. ~/my-ansible/chapter_09.1/ # mkdir ~/my-ansible/chapter_09.1 cd ~/my-ansible/chapter_09.1 # ansible.cfg, inventory 파일 작성 cat
안녕하세요, 오늘은 CloudNet Ansible 101 2주 차 도전과제 내용을 작성해 보았습니다. # 1. linux user1~10(10명) 를 반복문을 통해서 생성 후 확인 후 삭제를 해보자. 1) 사용자 생성을 위한 플레이북 생성 ch1.yml - hosts: localhost become: yes tasks: - name: 사용자 생성 ansible.builtin.user: name: "user{{ item }}" state: present loop: "{{ range(1, 11) | list }}" 2) 실행 3) 사용자 확인을 위한 플레이북 생성 ch1-2.yml --- - hosts: localhost become: yes tasks: - name: 사용자 존재 여부 확인 command:..
1. 조건문 앤서블은 조건문을 사용하여 특정 조건이 충족될 때 작업 또는 플레이를 실행할 수 있습니다. 예를 들면 조건문을 사용하여 호스트의 운영체제 버전에 해당하는 서비스를 설치하는 식입니다. 앤서블에서 조건문을 사용할 때는 플레이 변수, 작업 변수, 앤서블 팩트 등을 사용할 수 있습니다. 참조 링크 : https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_conditionals.html #1. when 문 - 조건이 충족되면 작업이 실행되고, 조건이 충족되지 않으면 작업을 건너뜁니다. - when 문을 테스트하는 가장 간단한 조건 중 하나는 Boolean 변수가 true인지 false인지 여부에 대한 판별입니다. 1) 플레이북 생성 ~/m..
안녕하세요, 오늘은 2주 차 진행 내용을 가지고 왔습니다. 먼저, 반복문입니다. 1. 반복문 반복문을 사용하면 동일한 모듈을 사용하는 작업을 여러 번 작성하지 않아도 됩니다. 예를 들어 서비스에 필요한 포트를 방화벽에 추가한다고 하면, 포트를 추가하는 작업을 여러 개 작성하는 대신 loop 반복문을 이용해 작업 하나로 여러 개의 포트를 추가할 수 있습니다. 참조 링크 : https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_loops.html 여기서 빌트인 모듈을 통해서 실습을 진행했습니다. #1. ansible.builtin.service 참조 링크 : https://docs.ansible.com/ansible/latest/collectio..