Ansible-YAML 기초

Ansible은 Ansible 플레이 북을 표현하기 위해 YAML 구문을 사용합니다. 이 장에서는 YAML에 대한 개요를 제공합니다. Ansible은 XML 및 JSON과 같은 다른 데이터 형식과 비교할 때 인간이 이해하고 읽고 쓰기가 매우 쉽기 때문에 YAML을 사용합니다.

마다 YAML 파일은 선택적으로 "---"로 시작하고 "..."로 끝납니다.

YAML 이해

이 섹션에서는 YAML 데이터가 표현되는 다양한 방법을 배웁니다.

키-값 쌍

YAML은 간단한 키-값 쌍을 사용하여 데이터를 나타냅니다. 사전은 키 : 값 쌍으로 표시됩니다.

Note − :와 값 사이에 공백이 있어야합니다.

예 : 학생 기록

--- #Optional YAML start syntax 
james: 
   name: james john 
   rollNo: 34 
   div: B 
   sex: male 
… #Optional YAML end syntax

약어

약어를 사용하여 사전을 나타낼 수도 있습니다.

James: {name: james john, rollNo: 34, div: B, sex: male}

대표 목록

YAML로 List를 나타낼 수도 있습니다. 목록의 모든 요소 (멤버)는 "-"(-및 공백)로 시작하는 동일한 들여 쓰기로 새 줄에 작성되어야합니다.

---
countries:  
   - America 
   - China 
   - Canada 
   - Iceland 
…

약어

약어를 사용하여 목록을 나타낼 수도 있습니다.

Countries: [‘America’, ‘China’, ‘Canada’, ‘Iceland’]

사전 내부 목록

사전 내에서 목록을 사용할 수 있습니다. 즉, 키의 값은 목록입니다.

---  
james: 
   name: james john 
   rollNo: 34 
   div: B 
   sex: male 
   likes: 
      - maths 
      - physics 
      - english 
…

사전 목록

사전 목록을 만들 수도 있습니다.

---  
- james: 
   name: james john 
   rollNo: 34 
      div: B 
   sex: male 
   likes: 
      - maths 
      - physics 
      - english 

- robert: 
      name: robert richardson 
      rollNo: 53 
      div: B 
      sex: male 
   likes: 
      - biology 
      - chemistry 
…

YAML은 "|"를 사용합니다. 여러 줄을 표시하는 동안 줄 바꿈을 포함하고 여러 줄을 표시하는 동안 줄 바꿈을 억제하려면 ">". 이로 인해 큰 줄을 읽고 편집 할 수 있습니다. 두 경우 모두 의도가 무시됩니다.

우리는 또한 표현할 수 있습니다 BooleanYAML의 (참 / 거짓) 값. 어디boolean 값은 대소 문자를 구분하지 않을 수 있습니다.

---  
- james: 
   name: james john 
   rollNo: 34 
   div: B 
   sex: male 
   likes: 
      - maths 
      - physics 
      - english 
   
   result: 
      maths: 87 
      chemistry: 45 
      biology: 56 
      physics: 70 
      english: 80 
   
   passed: TRUE 
   
   messageIncludeNewLines: | 
      Congratulation!! 
      You passed with 79% 
   
   messageExcludeNewLines: > 
      Congratulation!! 
      You passed with 79%

Ansible과 관련된 몇 가지 일반적인 단어입니다.

Service/Server − 서비스를 제공하는 머신의 프로세스.

Machine − 물리적 서버, vm (가상 머신) 또는 컨테이너.

Target machine − Ansible로 구성하려는 머신.

Task − Ansible에서 관리하는 작업 (실행, 삭제) 등.

Playbook − Ansible 명령이 작성되고 yml이 머신에서 실행되는 yml 파일.