IaC(Infrastructure as Code);

IaC(Infrastructure as Code)란?

IT 인프라를 코드 기반으로 자동 설치 및 구축/관리/프로비저닝 하는 프로세스를 말한다. IaC 도구들이 있기 전, 인프라 구축을 하기위해서 엔지니어들이 수동으로 반복적인 설치와 설정 작업을 진행했다.

Playbook 문법

환경변수(ansible.cfg)

[defaults]
fork = 30
remote_user = anislbe
remote_port = 12400

roles_path = ./roles
hadoop_user_name = hadoop-user

기본구조

---
- name: Create User account
	hosts: all
	become: true
	tasks:
		- name: Create The Hadoop group
			group: name=hadoop state=present

		- name: Create Hadoop User and Generate SSH Key
			user:
				name: "{{hadoop_user_name}}"
        comment: Hadoop User
        password: 'hadoop-user'
        shell: /bin/bash
        groups: hadoop, sudo
        append: yes
        generate_ssh_key: yes
        ssh_key_bits: 2048
        ssh_key_file: .ssh/id_rsa

Untitled

모듈

user

https://docs.ansible.com/ansible/2.9/modules/user_module.html#user-module

group

lineinfile – Manage lines in text files

https://docs.ansible.com/ansible/2.9/modules/lineinfile_module.html#lineinfile-module

• This module ensures a particular line is in a file, or replace an existing line using a back-referenced regular expression.

dest(or path): 수정할 파일의 경로

state:

regexp

line