• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Membuat Init Container di Kubernetes

Last Updated on 19 July 2021 By tommy Leave a Comment

Init Container adalah container yang dijalankan sebelum aplikasi Pod. Init container bisa digunakan untuk berbagai macam kegunaan, beberapa contoh kasus yang biasa digunakan:
– Download konfigurasi
– Cloning git
– Script migrasi database
– Inject Variable environment

Init container ini harus berjalan dengan status sukses, sebelum container selanjutnya dijalankan. Contoh kasus kita akan membuat init container yang mengecek apakah suatu URL/Internet bisa diakses, bila sesuai maka akan dijalankan container yang berisi aplikasi sederhana

Buat sebuah file init-container.yaml

apiVersion: v1
kind: Pod
metadata:
  name: aplikasi-hello
  labels:
    app: aplikasi
spec:
  containers:
  - name: busybox
    image: busybox
    command: ['sh', '-c', 'echo Halo Dunia! && sleep 99999']

  initContainers:
  - name: cek-koneksi-internet
    image: curlimages/curl
    command: ['curl', '-s', 'https://fedoraproject.org/static/hotspot.txt', '-o', '/dev/null']

lalu deploy

kubectl apply -f init-container.yaml

Cek status pod yang baru dideploy

kubectl get pods aplikasi-hello 
# output
NAME             READY   STATUS    RESTARTS   AGE
aplikasi-hello   1/1     Running   0          15s

Trobleshooting Init Container Error

Contoh kita akan membuat pod error, ubah init-container.yaml menjadi

apiVersion: v1
kind: Pod
metadata:
  name: aplikasi-hello
  labels:
    app: aplikasi
spec:
  containers:
  - name: busybox
    image: busybox
    command: ['sh', '-c', 'echo Halo Dunia! && sleep 99999']

  initContainers:
  - name: cek-koneksi-internet
    image: curlimages/curl
    command: ['curl', '-s', 'https://fzedoraproject.org/static/hotspot.txt', '-o', '/dev/null']

karena kita melakukan perubahan command, maka perlu pod harus di hapus, lalu di deploy ulang

kubectl delete -f init-container.yaml && kubectl apply -f init-container.yaml

Cek status pod

$ kubectl get pods aplikasi-hello 
NAME             READY   STATUS                  RESTARTS   AGE
aplikasi-hello   0/1     Init:CrashLoopBackOff   2          55s

Dari pesan status diatas Init containter crash, cek lognya dengan

kubectl logs aplikasi-hello -c cek-koneksi-internet
# output
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0curl: (6) Could not resolve host: fzedoraproject.org

karena Pod ini terdapat error, maka status deployment aplikasi-hello gagal

Pengertian dari status yang muncul saat menggunakan Init Container
Init:X/Y -> Pod memiliki Y Init Containers, X yang sudah complete/berhasil dijalankan
Init:Error -> Init Container gagal dijalankan
Init:CrashLoopBackOff -> Init Container error/crash
Pending -> Pod belum menjalankan Init Container.
PodInitializing or Running -> Pod telah selesai menjalankan Init Containers.

Tulisan menarik lainnya

  • Membuat File Dummy Ukuran Besar di Linux

    Untuk keperluan testing, kadang kita butuh data dummy dengan ukuran tertentu, contoh kalo mau tes…

  • Membuat Drop Down/Combobox di CodeIgniter

    Membuat Combobox atau Drop Down box di CodeIgniter sungguh mudah, fleksibel dan cepat. Pertama kita…

  • Membuat resolve.conf Permanent di Fedora

    Karena alasan tertentu, kita butuh untuk menggunakan setting DNS permanent, caranya adalah dengan menggunakan chattr…

  • Membuat Linux Otomatis Shutdown

    Pada banyak kasus, banyak orang mau otomatis mematikan komputer/laptop dengan sistem operasi Linux yang dimiliki.…

Filed Under: Linux

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • mazda on Tutorial Lengkap Install Mail Server Postfix Dovecot MariaDB di CentOS 7
  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.2m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318.8k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273.1k views
  • Cara Setting Wireless ZTE F609 Indihome 257.3k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 170k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.9k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153.5k views
  • Cara Reset Password ZTE F609 Indihome 147.6k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.6k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java