분류 전체보기

변수 정의하기 Ansible에서 변수를 정의할 수 있는 곳은 다음과 같다. 플레이북 외부 참조 파일 인벤토리 파일 명령의 -e 옵션 Ansible 에서는 변수를 key, value 형태로 정의한다. Playbook 에서 변수의 우선 순위 동일한 변수명을 가진 경우 플레이북에서 변수가 참조되는 우선순위는 다음과 같다. (우선 순위 높은 순으로 정렬되었다.) -e옵션으로 변수 지정 > 플레이북 vars_files 변수 > 플레이북에 정의된 변수 > host_vars 디렉토리의 호스트 변수 > Inventory 의 호스트 변수 > group_vars directory의 그룹 변수 > Inventory 의 그룹변수 1. 인벤토리 파일에 변수 정의하기 인벤토리 파일에서 host 변수 및 group 변수를 작성할 ..
·Algorithm (PS)
https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 시간초과 풀이 단순하게 구현했더니 시간초과 난다 ㅎㅎ import sys input = sys.stdin.readline r, c = map(int, input().split()) board = [] for i in range(r): data = input() temp = [] for j in range(c): temp.append(data[j]) board.append(temp) dx =..
Playbook 이란 여러 호스트들을 대상으로 반복해야 하는 작업, 재사용이 필요한 작업, 구성 관리 등이 필요할 때 Playbook을 정의해서 사용할 수 있다. Playbook 은 멱등성이라는 특징을 가진다. 멱등성이란 Ansible이 작업을 할 때 작업 상태가 원하는 최종 상태로 만들어진 경우 작업을 더 이상 반복하지 않는 특성이다. 그러나 멱등성이 적용되지 않는 몇몇 모듈들이 존재한다. 멱등성 예외 모듈 : command, shell, raw 같은 명령 모듈 또는 service 재시작 모듈은 해당하지 않는다. Playbook 의 구성 Playbook : 하나 이상의 Play를 가진다. Play: 하나 이상의 Task로 이루어져있다. Task : 하나의 Module과 Module의 옵션 및 arugm..
Ansible의 설정파일 Ansible의 설정파일은 ansible.cfg 에 적을 수 있다. 작동되는 방식에 대해 설정할 수 있다. 그런데 Ansible은 설정파일의 우선순위에 따라서 적용되는 설정이 다르다. 즉, 우선순위가 높은 설정을 기준으로 설정된다. Ansible 설정파일의 우선순위 1. ANSIBLE_CONFIG 환경 변수 2. 현재 디렉토리의 ansible.cfg 3. 홈 디렉토리의 ansible.cfg 4. /etc/ansible/ansible.cfg 예를 들어서 환경변수가 없으면 현재 디렉토리의 ansible.cfg가 실행될것이며, 현재 디렉토리에도 설정파일이 없으면 홈 디렉토리에 있는 설정 파일이 실행될 것이다. 아무것도 설정파일을 따로 만들지 않는 경우에는 /etc/ansible/ans..
Ad-Hoc 명령 관리하는 노드에 단일 작업을 수행할 때 사용한다. 반복적이거나 2개 이상의 작업을 하는 경우에는 Playbook 으로 수행한다. ansible [PATTERN] -m [MODULE] -a "[MODULE OPTIONS/ARGUMENT]" 예시 다음은 관리 노드 중 하나인 ansi-node2 라는 호스트를 재부팅시키는 Ad-Hoc 명령이다. $ ansible ansi-node2 -m reboot 현재 Ansible에서 사용할 수 있는 모든 모듈에 대한 정보 확인 $ ansible-doc -t module -l 특정 모듈에 대한 정보 확인하기 $ ansible-doc [MODULE_NAME] Ad Hoc 명령 vs Ansible Playbook 다음 그림은 동일한 작업을 수행하는 Ad Ho..
Inventory 란 Ansible이 관리하는 호스트들의 목록에 대해 설정하는 파일이다. 호스트들을 그룹 및 중첩 그룹으로 묶어서 관리할 수 있다. 인벤토리 파일은 INI , YAML 형식으로 정의할 수 있다. Default 인벤토리 파일 위치 : /etc/ansible/hosts 인벤토리를 지정하지 않은 경우 Default 인벤토리에서 참조된다. Inventory 조회하기 new-inventory 파일 예시 ansi-master1 # control host [group1] # 그룹명 ansi-node1 # 해당 호스트 ansi-node2 [group2] ansi-node3 [total-group:children] group1 group2 중첩 그룹을 지정할 때는 [중첩그룹이름:children] 이라고 ..
Ansible 이란 Ansible은 IaC 도구의 한 종류이다. 즉, 말그대로 인프라를 자동화 할 수 있는 도구이다. Ansible로 호스트들을 관리 및 구성하고, 배포를 자동화 할 수 있다. Ansible은 openSSH를 기본 전송 방법으로 사용한다. 따라서 보안과 신뢰성을 가지고 통신한다. Ansible에서는 에이전트 없이 Ansible이 바로 호스트들을 관리한다. Ansible은 절차적으로 수행된다. 작업이 정해진 순서대로 실행되어서 원하는 상태에 도달한다. IaC (Infrastructure as Code) 전통적인 인프라 환경에서는 수동으로 각각의 인프라를 구성해주어야 했다. 수동으로 관리하게 되면, 작업 속도도 느리고 사람이 수동으로 구성하다보니 실수와 같은 문제가 일어날 수 있다. 또한 비..
·Algorithm (PS)
https://www.acmicpc.net/problem/3584 3584번: 가장 가까운 공통 조상 루트가 있는 트리(rooted tree)가 주어지고, 그 트리 상의 두 정점이 주어질 때 그들의 가장 가까운 공통 조상(Nearest Common Anscestor)은 다음과 같이 정의됩니다. 두 노드의 가장 가까운 공통 조상은, 두 www.acmicpc.net 1. 입력받은 값으로 트리를 구성한다. python의 defaultdict을 사용했다. 어처피 간선 정보는 자식노드 - 부모노드로 N-1개 주어지므로 리스트가 아니라 default(int) 로 value 값을 저장한다. 2. 재귀함수 (dfs)로 루트까지 가는 경로를 구하는 함수 작성 3. 각각의 노드에서 루트까지 가는 경로를 구한다. 4. 경로..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (22 Page)