Menjalankan Container dari Private Container Registry GitLab di Cluster Kubernetes

Image

Pada sebuah cluster Kubernetes, terkadang kita membutuhkan atau memerlukan untuk menjalankan container ke dalam pod namun container tersebut berasal dari private container registry.

Jika ingin menjalankan container ke dalam pod namun container tersebut berasal dari private contaiter registry, ada beberapa konfigurasi yang perlu dilakukan. Karena secara default hanya container dari public container registry yang dapat langsung dijalankan, contohnya dari Docker Hub.

Pada artikel kali ini, saya ingin membagi beberapa langkah terkait konfigurasi untuk menjalankan container yang berasal dari private container registry, dalam contoh kali ini dari GitLab Container Registry.

Dalam prakteknya pun metode untuk menjalankan container dari private registry ada beberapa cara. Pada artikel kali ini skenario yang saya gunakan adalah dengan membuat Image Pull Secret yang di-associate ke dalam Service Account pada Namespaces. Namespaces yang saya gunakan juga bukan default namespace namun saya sudah buat 1 namespace baru.
Lingkungan sistem yang saya gunakan adalah Kubernetes versi 1.19.7 dengan Docker sebagai Container Runtime.

Berikut detail dari langkah langkah konfigurasi Image Pull Secret untuk Service Account pada cluster Kubernetes yang akan digunakan untuk menjalankan container dari private container registry:

  1. Konfigurasi secret. Berikut contoh command yang digunakan:

     kubectl create secret docker-registry [nama_secret] --docker-server=[nama_registry] \
     --docker-username=[username] \  
     --docker-password=[password/API Token] \  
     --docker-email=[email] \  
     --namespace [nama_namespace]  
    

    Image

  2. Pastikan secret berhasil dikonfigurasi. Pastikan dengan command berikut:

     kubectl get secrets [nama_secret] -n [nama_namespace]  
    

    Image

  3. Patch Service Account agar menggunakan secret yang telah dikonfigurasi sebagai Image Pull Secret. Jalankan command berikut:

     kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "nama_secret"}]}' -n [nama_namespace]  
    

    Untuk memastikan Image Pull Secret sudah berhasil ter-patch ke Service Account, jalankan command berikut:

     kubectl describe serviceaccounts default -n [nama_namespace]  
    

    Image

  4. Jalankan container ke dalam pod. Pada contoh kali ini saya sudah mempersiapakn sebuah file yaml yang berisi perintah untuk menjalankan pod dengan spec container image berasal dari GitLab Private Container Registry

    Image

  5. Selagi container dalam pod dibuat (container creating), kita juga bisa melakukan pengecekan event dalam pod tersebut dan pastikan nantinya container image berhasil di-pull atau di download dan container berhasil di jalankan. Dapat menjalankan command berikut untuk melihat event pada pod:

    kubectl describe pod [nama_pod]  
    

    Image

  6. Jika berhasil, status pod akan menunjukan running. Untuk pengecekan dapat menggunakan command berikut:

     kubectl get pod -n [nama_namespace]  
    

    Image

Untuk referensi, anda juga dapat mengecek dokumentasi kubernetes di link berikut Dokumentasi Kubernetes
Jika tertarik berkontribusi untuk Dokumentasi Kubernetes, anda juga dapat melihat panduannya di link berikut Berkontribusi ke Dokumentasi Kubernetes

Sekian panduan singkat dari saya terkait menjalankan container yang berasal dari private container registry ke dalam pod cluster kubernetes.
Semoga bermanfaat. Terima kasih.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

Situs yang Didukung WordPress.com.

Atas ↑

%d blogger menyukai ini: