GNU/Linux >> Belajar Linux >  >> Linux

Dasar-Dasar YAML Yang Harus Diketahui Setiap Insinyur DevOps

YAML telah mendapatkan banyak popularitas selama beberapa tahun terakhir karena menjadi bagian dari alat, teknologi, dan proses DevOps yang penting seperti Ansible, Kubernetes, pipeline CI/CD, dan sebagainya.

Kami telah membahas banyak tutorial tentang Ansible dan Kubernetes. Saya berpikir untuk membahas hal-hal penting YAML sehingga Anda harus sadar untuk bekerja lebih lancar dengan konfigurasi alat DevOps Anda.

Apa itu YAML?

YAML adalah singkatan dari "YAML Bukan Bahasa Markup" awalnya adalah akronim untuk 'Yet Another Markup Language'. YAML adalah bahasa “serialisasi data” dan pada dasarnya merupakan format data terstruktur yang dapat dibaca manusia.

Hal ini dirancang untuk membaca dan menulis ramah. Fitur serialisasi objek YAML menampilkan dirinya sebagai alternatif praktis untuk JSON. YAML adalah superset dari JSON dengan penggunaan pelingkupan berbasis lekukan untuk menunjukkan struktur seperti Python.

Berikut ini contoh contoh YAML:

--- 
 Student-ID: 314159
 First-Name: Linus
 Last-Name: Torvalds

Phone-numbers:
    - 281.555.7777
    - 832.676.8888
    - 937.996.9999

Addresses:
    - Street: 123 Main St.
    - City: Houston
    - State: Tx
---

Aturan dasar YAML yang harus selalu Anda ingat

Jika Anda tidak ingin melihat kesalahan berulang saat mengurai file YAML, Anda harus selalu mengingat hal berikut saat mengerjakan YAML:

  • Tab TIDAK diperbolehkan di YAML. Anda harus menggunakan spasi untuk indentasi.
  • Meskipun jumlah spasi tidak menjadi masalah selama lekukan simpul anak lebih banyak daripada induknya, ini adalah praktik yang baik untuk menjaga jumlah spasi yang sama.
  • Harus ada spasi di antara berbagai elemen YAML (dijelaskan nanti).
  • YAML peka huruf besar/kecil.
  • File YAML harus diakhiri dengan ekstensi seperti .yaml atau .yml .
  • YAML memungkinkan pengkodean UTF-8, UTF-16, dan UTF-32.

Mari kita pahami sintaks YAML sekarang.

Elemen file YAML:Sintaks dasar

File YAML digunakan untuk mendeskripsikan data. Dalam file YAML, kontennya adalah tentang kumpulan pasangan nilai kunci di mana nilainya bisa apa saja mulai dari string hingga pohon.

Mari kita memahaminya dengan sebuah contoh. Ini adalah file manifes layanan Kubernetes.

kind: Service
metadata:  
  name: web-app-svc
spec:  
  type: NodePort  
  ports:  
  - port: 8080         #service port    
    targetPort: 8080   #Pod Port    
    nodePort: 30012  #Node Port from the range - 30000-32767  
  selector:    
    app: web-app

Dapat dijelaskan sendiri bahwa ini adalah kumpulan elemen pasangan nilai kunci:Name: Value .

Seperti yang Anda lihat dari file di atas, file YAML dibuat dari sejumlah elemen berbeda. Bersama-sama, mereka dapat digunakan untuk menggambarkan berbagai macam struktur.

1. Spasi atau lekukan

Di YAML, Anda membuat indentasi dengan spasi, bukan tab. Dan HARUS ada spasi di antara elemen.

Spesifikasi yang benar:

Kind:Service

Spesifikasi salah:

Kind:Service

Karena tidak ada spasi setelah titik dua pada pernyataan di atas!

2. Komentar di YAML

Komentar dapat ditentukan dengan menempatkan hash di depan item '# '. Komentar dapat dibuat di awal baris di mana saja dalam baris.

Jika Anda membuka file konfigurasi YAML kami, kami memiliki tiga komentar sebaris seperti "#service port" dll.

3. Skalar (nilai kunci)

Skalar adalah string dan angka yang membentuk data pada halaman. Secara sederhana mereka adalah pasangan nilai kunci.

kind: Service
metadata:  
  name: web-app-svc

4. Koleksi &Daftar

Elemen atau anggota daftar dan koleksi adalah garis yang dimulai pada tingkat lekukan yang sama, dimulai dengan tanda hubung diikuti dengan spasi.

- web-app-prod 
- prod-deployments 
- prom-monitored

Ini adalah daftar dasar dengan setiap item dalam daftar ditempatkan di barisnya sendiri dengan tanda hubung pembuka.

5. Koleksi bersarang

Jika Anda ingin membuat urutan bersarang dengan item dan sub-item, Anda dapat melakukannya dengan menempatkan satu spasi sebelum setiap tanda hubung di sub-item.

- 
 - web-app-prod 
 - prod-deployments 
 - prom-monitored
-  
 - web-app-test 
 - staging-deployments 
 - not-monitored

6. Kamus

Kamus terdiri dari key: value format dengan isi menjorok.

ports:    
- port: 8080         #service port    
  targetPort: 8080   #Pod Port    
  nodePort: 30012  #Node Port from the range - 30000-32767

Anda dapat menggabungkan dan mencampur koleksi daftar dan kamus seperti ini:

ports:    
- port: 8080         #service port    
  targetPort: 8080   #Pod Port    
  nodePort:       
  - 30012       
  - 30013       
  - 30014

Ini adalah konsep YAML yang sangat mendasar tetapi penting bagi seorang insinyur DevOps.

Anda tidak memerlukan editor khusus untuk YAML. Editor teks favorit Anda seharusnya sudah mendukung YAML atau menggunakan plugin jika diperlukan.

Ada banyak hal yang bisa Anda gali lebih dalam dan pelajari. Untuk itu, Anda dapat selalu merujuk ke dokumentasi resmi YAML.

Ingin menjadi sysadmin atau DevOps yang lebih baik? Jadilah anggota Buku Pegangan Linux hari ini.


Linux
  1. 10 perintah yang harus diketahui setiap pengguna Linux

  2. 7 perintah jaringan Linux yang harus diketahui oleh setiap sysadmin

  3. 17 perintah Linux yang harus diketahui setiap sysadmin

  1. 3 Hacks Berguna yang Harus Diketahui Setiap Pengguna Linux

  2. 20 Contoh Perintah OpenSSL yang harus anda ketahui

  3. Pintasan Terminal Linux yang Berguna Yang Harus Diketahui Setiap Pengguna Power Linux

  1. 12 Penggunaan Commandline PHP yang Berguna Yang Harus Diketahui Setiap Pengguna Linux

  2. 34 Perintah Dasar Linux Yang Harus Diketahui Setiap Pengguna

  3. Redhat vs Ubuntu:15 Fakta Mendasar yang Harus Anda Ketahui