Install CNI Plugin untuk Podman Container di Alpine Linux V3.16

Banyak dari kita pengembang aplikasi tidak bisa lepas dari container sejak 3-4 tahun terakhir, karena teknologi container membantu kita melakukan pengembangan aplikasi berbasis microservices di mana pun tanpa harus sulit untuk melakukan setup environment kita seperti di era monolitik. Saya biasa menggunakan WSL 2 di Windows 10 (karena saya terkunci dengan O365 di Windows, Mendeley dan berbagai tools menulis research paper serta teknologi yang harus saya ajarkan di Windows di Kampus.. membuat saya tak memiliki banyak opsi).

1 minggu yang lalu, saya menghadapi masalah, semua container saya tidak jalan sebagaimana mestinya… saya melakukan podman-compose, tetapi stuck error sebagai berikut:

WARN[0000] Error validating CNI config file /home/benli/.config/cni/net.d/87-podman.conflist: [failed to find plugin "bridge" in path [/usr/local/libexec/cni /usr/libexec/cni /usr/local/lib/cni /usr/lib/cni /opt/cni/bin] failed to find plugin "portmap" in path [/usr/local/libexec/cni /usr/libexec/cni /usr/local/lib/cni /usr/lib/cni /opt/cni/bin] failed to find plugin "firewall" in path [/usr/local/libexec/cni /usr/libexec/cni /usr/local/lib/cni /usr/lib/cni /opt/cni/bin] failed to find plugin "tuning" in path [/usr/local/libexec/cni /usr/libexec/cni /usr/local/lib/cni /usr/lib/cni /opt/cni/bin]]

Error ini cukup mengganggu, karena container saya satu dan lain nya saling terkait dalam 1 network melalui bridge network dengan pod. Saya berusaha mencari cni-plugin di Alpin V3.16, tetapi paketnya tidak tersedia… dan… setelah saya search, paket cni-plugin, terakhir tersedia di versi 3.15, untung nya, bisa dilihat di https://pkgs.org/download/cni-plugins.

Akhirnya saya putuskan untuk install dahulu versi lamanya, agar bisa berjalan container saya. Di Alpine, untuk menginstall paket melalui URL tidak bisa dilakukan [1], kita harus download manual dulu ke folder tertentu dan install offline melalui apk add, tidak seperti pada dnf/yum pada RHEL/Fedora.
Singkatnya :
1. Download paket nya dengan wget

BEN-TP-X220:[~]# wget http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/cni-plugins-1.0.1-r2.apk
Connecting to dl-cdn.alpinelinux.org (199.232.46.133:80)
saving to 'cni-plugins-1.0.1-r2.apk'
cni-plugins-1.0.1-r2 100% |************************************************************************************************************************| 17.4M 0:00:00 ETA
'cni-plugins-1.0.1-r2.apk' saved

2. Install Paketnya dengan apk

BEN-TP-X220:[~]# apk add cni-plugins-1.0.1-r2.apk
(1/1) Installing cni-plugins (1.0.1-r2)
OK: 383 MiB in 103 packages

dengan begitu, kita bisa menggunakan kembali cni-plugin dan bridge network dari docker-compose.yml.

Sebenarnya kita juga bisa menggunakan versi packet Alpine Edge [2], seperti berikut :

BEN-TP-X220:[bin]# apk add cni-plugins=1.1.1-r3 --repository=http://dl-cdn.alpin
elinux.org/alpine/edge/community
(1/1) Upgrading cni-plugins (1.0.1-r2 -> 1.1.1-r3)
49% ████████████████████████████████████
OK: 387 MiB in 103 packages
BEN-TP-X220:[bin]#

Karena saya sudah memiliki versi lama, saya menimpa nya dengan versi baru, yang dapat di browser di https://pkgs.alpinelinux.org/packages?name=cni-plugins lalu pilih repo edge.

Sekian catatan saya, sumber catatan saya bisa dilihat di :
[1] https://stackoverflow.com/questions/62019127/how-can-i-install-apk-file-in-alpine-linux-offline
[2] https://stackoverflow.com/questions/52899227/alpine-add-package-from-edge-repository

Untuk CNI Plugin bisa dibaca di halaman docs podman dan podman-compose (silahkan search google/ddg)

By ben

I'm a geeks. Just look at my website :)

Leave a Reply. I will come back and maybe we can have some conversation :)

This site uses Akismet to reduce spam. Learn how your comment data is processed.