DevOps/Ansible

·DevOps/Ansible
안녕하세요, 오늘 내용은 앤서블을 활용하여 보안 설정을 하는 내용을 다룹니다. 사전 준비 1) 유저 생성 먼저 유저를 생성합니다. 아래와 같이 디렉터리를 생성하고, cfg 파일과 inventory 파일을 작성해 줍니다. # mkdir ~/my-ansible/chapter_09.1 cd ~/my-ansible/chapter_09.1 # ansible.cfg, inventory 파일 작성 cat > tnode1
·DevOps/Ansible
앤서블로 접근하기 위한 대상 서버(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
·DevOps/Ansible
사전 분석 - OS가 우분투의 경우, netplan 파일을 이용하여 IP를 설정한다 - OS가 CentOS/레드햇일 경우에는 nmcli 모듈을 사용하여 IP를 설정한다. - community.general.nmcli - ansible.builtin.template 1) 프로젝트 디렉터리 생성 및 ansible.cfg, inventory 파일 작성 # mkdir ~/ansible-project/chapter_10.1 cd ~/ansible-project/chapter_10.1 # ansible.cfg, inventory 파일 작성 cat
·DevOps/Ansible
이번 내용의 플레이북 구성도는 다음과 같습니다. 사전 분석 NTP 서버 주소는 메인 플레이북에서 정의한다. 운영체제가 Ubuntu면 apt 모듈을 사용하여 chrony를 설치한다. 운영체제가 CentOS/레드햇이면 dnf 모듈을 사용하여 chrony를 설치한다. Jinja2 템플릿 방식의 chrony.conf 파일을 대상 호스트로 복사한다. 설정 파일이 복사되면 chrony 서비스를 재시작한다. 다음에도 사용할 수 있도록 롤을 이용하여 설계하고 작성한다. 플레이북 설계 chrony를 서로 다른 운영체제에서 각각의 모듈을 이용하여 설치할 것이므로 롤을 생성하고 호출하는 방식으로 작성합니다. - vars : chrony 서비스 설치를 위한 롤에서는 변수를 정의,, - templates : 환경 설정 템플릿 ..
·DevOps/Ansible
이번에 다룰 내용의 요지는 다음과 같습니다. 사전 분석: 사용자 아이디는 외부 변수로 받습니다. 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'. '..
·DevOps/Ansible
안녕하세요, 오늘은 앤서블을 활용해서 사용자 계정을 생성하는 방법을 알아보겠습니다. 플레이북 구성 예시는 위와 같습니다. 위의 구성을 통해서 진행해 볼 내용은 사용자 계정과 패스워드는 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
·DevOps/Ansible
안녕하세요, 오늘은 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:..
·DevOps/Ansible
앤서블은 블록 block이라는 오류를 제어하는 문법을 제공합니다. 블록은 작업을 논리적으로 그룹화하는 절입니다. 이를 통해 작업 실행 방법을 제어에 사용할 수 있습니다. 블록을 통해 rescue 문과 always 문을 함께 사용함으로써 오류를 처리할 수 있습니다. block : 실행할 기본 작업을 정의함 rescure : block 절에 정의된 작업이 실패할 경우 실행할 작업을 정의함 always : block 및 rescue 절에 정의된 작업의 성공 또는 실패 여부와 관계없이 항상 실행되는 작업을 정의함 1) 플레이북 생성 --- - hosts: tnode2 vars: logdir: /var/log/daily_log logfile: todays.log tasks: - name: Configure Log..
Jflip
'DevOps/Ansible' 카테고리의 글 목록