Ansible - Kiến thức cơ bản về YAML
Ansible sử dụng cú pháp YAML để thể hiện sách vở Ansible. Chương này cung cấp một cái nhìn tổng quan về YAML. Ansible sử dụng YAML vì con người rất dễ hiểu, đọc và viết khi so sánh với các định dạng dữ liệu khác như XML và JSON.
Mỗi YAML tùy chọn bắt đầu bằng “---” và kết thúc bằng “...”.
Hiểu về YAML
Trong phần này, chúng ta sẽ tìm hiểu các cách khác nhau mà dữ liệu YAML được biểu diễn.
cặp khóa-giá trị
YAML sử dụng cặp khóa-giá trị đơn giản để đại diện cho dữ liệu. Từ điển được biểu diễn trong cặp key: value.
Note - Phải có khoảng trắng giữa: và giá trị.
Ví dụ: Hồ sơ học sinh
--- #Optional YAML start syntax
james:
name: james john
rollNo: 34
div: B
sex: male
… #Optional YAML end syntax
Viết tắt
Bạn cũng có thể sử dụng chữ viết tắt để thể hiện từ điển.
Thí dụ
James: {name: james john, rollNo: 34, div: B, sex: male}
Danh sách đại diện
Chúng tôi cũng có thể đại diện cho Danh sách trong YAML. Mọi phần tử (thành viên) của danh sách phải được viết trong một dòng mới với cùng một thụt đầu dòng bắt đầu bằng “-“ (- và dấu cách).
Thí dụ
---
countries:
- America
- China
- Canada
- Iceland
…
Viết tắt
Bạn cũng có thể sử dụng chữ viết tắt để đại diện cho danh sách.
Thí dụ
Countries: [‘America’, ‘China’, ‘Canada’, ‘Iceland’]
Liệt kê bên trong Từ điển
Chúng ta có thể sử dụng danh sách bên trong từ điển, tức là giá trị của khóa là danh sách.
Thí dụ
---
james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
…
Danh sách từ điển
Chúng tôi cũng có thể tạo danh sách các từ điển.
Thí dụ
---
- 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 sử dụng “|” để bao gồm các dòng mới trong khi hiển thị nhiều dòng và “>” để loại bỏ các dòng mới trong khi hiển thị nhiều dòng. Do đó, chúng tôi có thể đọc và chỉnh sửa các dòng lớn. Trong cả hai trường hợp, ý định sẽ bị bỏ qua.
Chúng tôi cũng có thể đại diện Boolean(Đúng / sai) giá trị trong YAML. Ở đâuboolean giá trị có thể không phân biệt chữ hoa chữ thường.
Thí dụ
---
- 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%
Một số từ thông dụng liên quan đến Ansible.
Service/Server - Một quy trình trên máy cung cấp dịch vụ.
Machine - Một máy chủ vật lý, vm (máy ảo) hoặc một vùng chứa.
Target machine - Một máy chúng tôi sắp cấu hình với Ansible.
Task - Một hành động (chạy cái này, xóa cái kia) vv do Ansible quản lý.
Playbook - Tệp yml nơi các lệnh Ansible được viết và yml được thực thi trên máy.