Day 97 Prakerin Di Excellent ~ Perbedaan Penggunaan Create dan Apply Pada Kubernetes

Hari ke- 97 PKL: Perbedaan Penggunaan Create dan Apply Pada Kubernetes

Halo, Semuanya! Setelah membahas tentang Volume dalam Kubernetes pada blog sebelumnya, kali ini kita akan mengupas tuntas perbedaan dua perintah penting yang sering digunakan saat bekerja dengan Kubernetes, yaitu kubectl create dan kubectl apply.


Apa Itu kubectl create?

kubectl create adalah perintah yang digunakan untuk membuat sumber daya baru di kluster Kubernetes. Perintah ini biasanya digunakan untuk pertama kali ketika kita ingin menambahkan objek ke dalam kluster.

Karakteristik kubectl create:

  • Imperative Command: Fokus pada tindakan untuk membuat objek baru.
  • Tidak mendukung pembaruan objek yang sudah ada. Jika objek dengan nama yang sama sudah ada, perintah ini akan gagal.
  • Cocok untuk skenario di mana konfigurasi yang ditulis tidak memerlukan perubahan di masa mendatang.

Contoh Penggunaan kubectl create:

Membuat Pod:

kubectl create -f pod-example.yaml

Hasil: Jika objek dengan nama yang sama sudah ada, Anda akan mendapatkan pesan kesalahan:

Error from server (AlreadyExists): error when creating "pod-example.yaml": pods "example-pod" already exists

Apa Itu kubectl apply?

kubectl apply digunakan untuk membuat atau memperbarui sumber daya di kluster Kubernetes berdasarkan file konfigurasi YAML atau JSON. Ini adalah pilihan terbaik untuk manajemen deklaratif, di mana kita terus memperbarui sumber daya sesuai perubahan pada file konfigurasi.

Karakteristik kubectl apply:

  • Declarative Command: Fokus pada hasil akhir dari konfigurasi, bukan tindakan yang dilakukan.
  • Mendukung pembaruan objek yang sudah ada di kluster tanpa perlu menghapusnya terlebih dahulu.
  • Cocok untuk skenario di mana konfigurasi sering diperbarui.

Contoh Penggunaan kubectl apply:

Membuat atau Memperbarui Pod:

kubectl apply -f pod-example.yaml

Hasil: Jika objek sudah ada, konfigurasi akan diperbarui berdasarkan perubahan di file YAML:

pod/example-pod configured

Kapan Menggunakan kubectl create atau kubectl apply?

  1. Gunakan kubectl create jika:

    • Anda hanya ingin membuat sumber daya baru tanpa ada kemungkinan perubahan di masa depan.
    • Lingkungan pengembangan bersifat sementara atau untuk uji coba.
  2. Gunakan kubectl apply jika:

    • Anda ingin mengelola konfigurasi secara berkelanjutan.
    • Perubahan pada file YAML harus otomatis memperbarui objek di kluster.
    • Anda bekerja di tim besar dan file konfigurasi dikelola secara kolaboratif, misalnya dengan GitOps.

Tips Praktis

  1. Simpan Konfigurasi YAML

    • Gunakan file YAML sebagai sumber kebenaran utama untuk konfigurasi Anda.
  2. Gunakan kubectl diff Sebelum Apply

    • Untuk melihat perubahan yang akan diterapkan:
      kubectl diff -f pod-example.yaml
  3. Manfaatkan GitOps Workflow

    • Gabungkan file YAML dengan Git untuk melacak perubahan konfigurasi secara versi.

Kesimpulan

  • Gunakan kubectl create untuk membuat sumber daya baru di kluster dengan pendekatan imperatif.
  • Pilih kubectl apply jika Anda ingin mengelola sumber daya secara deklaratif dengan fleksibilitas untuk memperbarui konfigurasi di masa depan.

Kedua perintah ini memiliki tujuan yang berbeda, tetapi bersama-sama mereka memungkinkan kita untuk mengelola kluster Kubernetes dengan lebih efisien dan terorganisir.

Mungkin cukup sekian untuk Pembahasan kali ini. Semoga membantu! dan terimakasih sudah membaca sampai akhir. Sampai jumpa di blog selajutnya!

BABAI

Komentar

Postingan Populer