Apa itu GitOps

diterbitkan 2 November 2021
diperbarui 22 Juni 2026
Render 3D pola abstrak bola terhadap latar belakang biru
By Ashok Iyengar

GitOps didefinisikan

GitOps adalah praktik DevOps yang menggunakan Git sebagai sumber kebenaran tunggal di mana status konfigurasi yang diinginkan disimpan. 

Fokusnya adalah pada otomatisasi operasi, didorong dari repositori Git. Meskipun ada dalam judul, Git bukan satu-satunya repositori yang dapat digunakan. Antarmuka yang disediakan oleh Git yang mengotomatiskan operasi. GitOps akhirnya menggunakan informasi yang diekstrak dari metadata build untuk menentukan paket mana yang akan dibangun yang dipicu oleh perubahan kode tertentu:

Gambar 1. Ikhtisar GitOps.
Gambar 1. Ikhtisar GitOps.

Pada intinya, model GitOps menggunakan pola pengontrol. Ini lebih lanjut dibantu oleh pola operator dari perspektif Kubernetes atau OpenShift, di mana operator adalah ekstensi perangkat lunak yang menggunakan sumber daya khusus untuk mengelola aplikasi dan komponennya.

Kami akan salah untuk tidak menyebutkan Argo CD, alat GitOps yang membantu alur kerja GitOps. Argo CD adalah alat deklaratif sumber terbuka untuk integrasi berkelanjutan  an penerapan berkelanjutan (CI/CD) aplikasi. Diimplementasikan sebagai pengontrol Kubernetes, Argo CD terus memantau definisi dan konfigurasi aplikasi yang sedang berjalan, membandingkan status langsung saat ini pada klaster dengan status yang diinginkan yang ditentukan dalam repositori Git.

Tetapi GitOps bukanlah produk, plugin, atau platform tunggal. Alur kerja GitOps membantu tim mengelola infrastruktur TI melalui proses yang sudah mereka gunakan dalam pengembangan aplikasi. Meminjam dari blog GitLab, GitOps membutuhkan tiga komponen inti: GitOps = IaC + PR atau MR + CI/CD

  • IaCInfrastructure as Code (IaC) adalah praktik toko semua konfigurasi infrastruktur sebagai kode. GitOps menggunakan repositori Git sebagai sumber kebenaran tunggal untuk definisi infrastruktur. Git melacak semua perubahan manajemen kode.

  • PR atau MR: GitOps menggunakan permintaan tarik (PR) atau permintaan gabungan (MR) sebagai mekanisme perubahan untuk semua pembaruan infrastruktur. Di sinilah tim dapat berkolaborasi melalui ulasan dan komentar dan di mana persetujuan formal berlangsung.

  • CI/CD: GitOps mengotomatiskan pembaruan infrastruktur menggunakan alur kerja Git dengan integrasi berkelanjutan (CI) dan pengiriman berkelanjutan (CD). Ketika kode baru digabungkan, pipeline CI/CD memberlakukan perubahan di lingkungan. Setiap penyimpangan konfigurasi, seperti perubahan atau kesalahan manual, diganti oleh otomatisasi GitOps sehingga lingkungan menyatu pada status yang diinginkan yang ditentukan di Git, sehingga menyediakan operasi berkelanjutan (CO):

GitOps telah ada selama beberapa tahun sekarang, tetapi telah mendapatkan daya tarik baru-baru ini karena kontainer dan kompleksitas seputar pengelolaan dan penerapan lingkungan waktu proses kontainer yang konsisten.

Apa masalah yang coba dipecahkan GitOps? Nah, ini mengotomatiskan operasi perangkat lunak sehingga perusahaan dapat menjadi lebih baik dalam rekayasa perangkat lunak. Ini memungkinkan tim aplikasi untuk merilis lebih sering dan mengoperasikan aplikasi cloud-native dengan lebih efektif.

     
    Gambar 2. CI/CD/CO
    Gambar 2. CI/CD/CO

    GitOps di Red Hat OpenShift

    Operator Red Hat OpenShift menyederhanakan instalasi dan orkestrasi otomatis beban kerja yang kompleks. Operator tersebut membantu mengenkode logika operasional manusia untuk mengelola layanan yang berjalan sebagai aplikasi native Kubernetes, sehingga memudahkan operasi hari ke-2. Operator adalah perangkat lunak yang berjalan di sebuah pod di klaster, yang berinteraksi dengan server API Kubernetes. Operator OpenShift pada dasarnya adalah pengontrol khusus dan pada dasarnya dapat berupa pengontrol khusus untuk masing-masing aplikasi.

    IBM DevOps

    Apa itu DevOps?

    Andrea Crawford menjelaskan apa itu DevOps, nilai DevOps, dan cara praktik serta alat DevOps membantu Anda memproses aplikasi Anda melalui seluruh delivery pipeline, dari ide hingga produksi. Dipimpin oleh para pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu para pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

    Operator GitOps

    Red Hat OpenShift memudahkan pengembang yang ingin menggunakan GitOps dengan menyediakan operator yang diperlukan. Setelah diterapkan, operator tersebut kemudian dapat dilihat di bawah bagian Operator Terinstal di Konsol OpenShift. Operator Red Hat OpenShift GitOps adalah operator hulu untuk ArgoCD, dan operator Red Hat OpenShift Pipelines, yang juga diterapkan, adalah operator hulu untuk Tekton. Lihat Gambar 3:

    Gambar 3. Operator terkait GitOps di Red Hat OpenShift.
    Gambar 3. Operator terkait GitOps di Red Hat OpenShift.

    Operator dan API terkait kemudian dapat digunakan untuk memulai satu atau beberapa pipeline GitOps yang dapat melakukan penerapan ke berbagai lingkungan untuk menarik hasil konfigurasi yang diinginkan dari Git. Lingkungan dapat berupa lingkungan pengembangan, pengujian, dan produksi yang biasa, tetapi juga dapat menjangkau lingkungan geografis seperti cloud perusahaan, jaringan telekomunikasi, atau node komputasi edge.

    Sumber daya penerapan diklasifikasikan menjadi tiga bidang: infrastruktur, layanan, dan aplikasi. Area ini memudahkan untuk memisahkan dan mengelola penerapan sumber daya terkait:

    • Infrastruktur adalah tempat ruang nama dan unit penyimpanan yang diperlukan ditentukan.
    • Layanan adalah tempat berbagai operator yang diperlukan untuk menyiapkan instance dijelaskan.
    • Aplikasi adalah tempat aplikasi yang akan diterapkan disebutkan.

    GitOps dalam komputasi edge

    Pusat data cloud/perusahaan

    Komputasi edge memantau proliferasi klaster OpenShift atau Kubernetes di sebagian besar pusat TI. Komputasi ini memiliki potensi untuk mencapai skala masif sebanyak ratusan hingga ribuan penerapan per pelanggan. Hasilnya adalah departemen TI perusahaan harus mengelola beberapa klaster waktu proses kontainer independen atau kooperatif yang berjalan on-prem dan/atau di cloud publik.

    Memastikan klaster memiliki status yang diinginkan yang sama—meluncurkan perubahan dan mengembalikan ke kondisi sebelum perubahan pada beberapa cloud—adalah manfaat yang diberikan GitOps kepada bisnis berbasis edge dan IoT.

    Tepi jaringan

    Paradigma GitOps dapat diterapkan di edge jaringan karena salah satu tantangan utama yang dihadapi Penyedia Layanan Komunikasi (CSP) adalah mencari orkestrasi, otomatisasi, dan manajemen jaringan mereka. Meskipun 5G merupakan keuntungan bagi konsumen, jaringan yang ditentukan oleh perangkat lunak (SDN), pemotongan jaringan dengan bandwidth yang berbeda, dan penerapan yang lebih cepat telah menciptakan tantangan bagi penyedia layanan telekomunikasi.

    Pipeline penerapan otomatis adalah salah satu cara CSP dapat menghadirkan layanan kepada pelanggan dengan lebih cepat. Memiliki repositori pusat dan pendekatan deklaratif untuk penyediaan infrastruktur kontainer berarti waktu yang lebih cepat untuk memasarkan fitur baru dan permintaan perubahan. Paradigma seperti itu akan membantu penyediaan VNF (Fungsi Jaringan Virtual) dan CNF (Fungsi Jaringan Cloud-Native) di edge jaringan. Kontainerisasi komponen jaringan memungkinkan pengelolaan fungsi-fungsi tersebut. Terakhir, karena semua aktivitas konfigurasi dicatat dan disimpan di Git, kemampuan untuk melacak perubahan sangat penting untuk tujuan kepatuhan dan audit. Ada beberapa blog terkait dari WeaveWorks dalam referensi:

    Gambar 4. GitOps dalam komputasi edge.
    Gambar 4. GitOps dalam komputasi edge.

    Tepi Enterprise

    GitOps memungkinkan organisasi untuk menerapkan ke beberapa target secara bersamaan. Hal ini memungkinkan peluncuran penerapan yang terperinci. Ini akan sangat berguna ketika menerapkan aplikasi ke ratusan dan puluhan ribu node edge, yang memiliki berbagai bentuk dan faktor bentuk dan menggunakan protokol komunikasi yang bervariasi—terutama jika node edge adalah klaster kecil menggunakan Intel NUC atau NVIDIA Jetson.

    Kerangka kerja GitOps dapat bermanfaat dalam menerapkan aplikasi dan menggunakan repositori Git sebagai sumber kebenaran tunggal. ITOps tim mencari penerapan aplikasi otonom, manajemen, dan operasi node, yang difasilitasi dengan penggunaan operator Red Hat OpenShift.

    Tepi perangkat (atau tepi terjauh)

    Manfaat GitOps jelas di tepi jaringan dan keunggulan perusahaan. Perangkat ujung jauh menghadirkan tantangan yang berbeda karena kapasitas penyimpanan dan komputasi beberapa perangkat ini tidak cukup besar untuk meng-host layanan GitOps dan menjalankan aplikasi.

    Rilis distribusi Kubernetes yang ringan, seperti K3s dan K0s, dimaksudkan untuk contoh penggunaan IoT dan edge. Kemampuan untuk menerapkan distribusi Kubernetes yang ringan di perangkat edge memungkinkan kita menjalankan alat GitOps seperti Argo CD. Perangkat kemudian akan dapat mengadopsi model pull saat melakukan polling repositori Git untuk status yang diinginkan dan menyinkronkannya ke status aktif klaster.

    Penulis

    Ashok Iyengar

    Executive Cloud Architect

    Solusi terkait
    IBM Instana Observability

    Memanfaatkan kekuatan AI dan otomatisasi untuk memecahkan masalah secara proaktif di seluruh tumpukan aplikasi.

    Jelajahi IBM Instana Observability
    Solusi DevOps

    Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.

    Jelajahi solusi DevOps
    Layanan konsultasi cloud

    Percepat ketangkasan dan pertumbuhan bisnis — terus modernisasi aplikasi Anda di platform apa pun menggunakan layanan konsultasi cloud kami.

    Jelajahi layanan konsultasi cloud
    Ambil langkah selanjutnya

    Dari deteksi masalah proaktif dengan IBM Instana® hingga insight real-time di seluruh tumpukan, Anda dapat menjaga aplikasi cloud-native tetap berjalan dengan andal.

    1. Pelajari IBM Instana
    2. Jelajahi solusi DevOps