Konfigurasi Lanjutan Talos: Testing Aplikasi

Hai semuanya, apa kabar? Kali ini kita akan lanjutkan eksplor Talos (tulisan sebelumnya klik link ini ya). Kita akan coba untuk jalankan aplikasi dari Talos.

Konfigurasi talosctl

talosctl adalah komponen yang berfungsi sebagai kendali utama untuk mengendalikan Talos. Bisa diinstal di PC lokal kita. Karena saya menggunakan Linux (Mint), jadi kita bisa gunakan perintah berikut:

curl -sL https://talos.dev/install | sh

image host

Konfigurasi Cluster

Setelah talosctl berhasil diinstal, selanjutnya kita buat file konfigurasi cluster. Kita gunakan alamat IP statis yang sudah diset sebelumnya.

talosctl gen config talos-vmware https://192.168.9.49:6443

Perintah tersebut akan generate tiga buah file konfigurasi, yaitu controlplane.yaml , worker.yaml ,talosconfig.

Terapkan konfigurasi dengan menggunakan perintah berikut:

talosctl apply-config-insecure --nodes 192.168.9.49 --file controlplane.yaml

image host

Flag --insecure digunakan karena node Talos baru menyala dan belum memiliki konfigurasi TLS/SSL. Sehingga, flag ini dibutuhkan untuk mendapatkan akses untuk mengirimkan file konfigurasi (`controlplane.yaml“) ke server Talos.

Aktifkan layanan ini dengan menggunakan perintah talosctl bootstrap. Perintah ini untuk memulai control plane.
image host

Setelah menjalankan bootstrap, kita akan gunakan perintah kubeconfig, tapi belum bisa langsung dijalankan. Perlu download terlebih dahulu kubectl-nya.

Gunakan perintah berikut:

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

Kita akan gunakan kubeconfig untuk fungsi kontrol jarak jauhnya. Gunakan perintah berikut:

talosctl kubeconfig .
export KUBECONFIG="./kubeconfig"

image host

Selanjutnya, kita akan gunakan perintah kubectl get nodes -w (lagi) untuk melihat daftar node yang ada. Flag -w artinya dipantau secara langsung.
image host

Gambar di atas menampilkan node yang terdaftar (yaitu si-talos-nya. Statusnya Ready, artinya node siap untuk menjalankan aplikasi/pod. Role-nya adalah control-plane (mirip seperti “otak”-nya cluster) dan berfungsi mengatur scheduling & cluster management*.

Uji Coba Aplikasi

Kita akan coba jalankan aplikasi di Talos. Kita akan coba pasang Nginx. Kita akan gunakan untaint – atau (kasarnya) pemberian hak akses tertentu untuk node agar dapat menjalankan aplikasi umum.

Gunakan perintah berikut:

kubectl taint nodes --all node-role.kubernetes.io/control-plane:NoSchedule-

Gunakan perintah kubectl get pods -w lagi untuk cek status pod/aplikasi yang dijalankan.
image host

Selanjutnya, kita perlu membuka akses melalui NodePort (32006). Gunakan perintah berikut:

kubectl expose deployment nginx-test --port=80 --type=NodePort
kubectl get svc nginx-test

image host

Selanjutnya, kita coba buka web browser dan kunjungi alamat IP dari Talos-nya (dalam pengujian kali ini 192.168.9.49:32006). Gambar di bawah menampilkan halaman sample dari Nginx yang berhasil ditampilkan.
image host

Kita juga akan coba edit file index.html-nya.

nano index.html

Kemudian, jalankan perintah berikut untuk mengambil nama pod secara otomatis dan update isinya.

POD_NAME=$(kubectl get pods -l app=nginx-test -o jsonpath="{.items[0].metadata.name}")

Gunakan perintah kubectl berikut untuk menyalin file index.html ke dalam pod.

kubectl cp index.html $POD_NAME:/usr/share/nginx/html/index.html

image host

Gambar di bawah menampilkan halaman index.html yang sudah diedit.
image host

Penutup

Talos OS penggunaan utamanya adalah untuk pengelolaan Kubernetes yang aman dan terstruktur. Meskipun pendekatannya minimalis, fungsionalitasnya tetap maksimal untuk menjalankan beban kerja Kubernetes.

Tulisan kali ini sampai di sini dulu ya. Sampai jumpa. Bye.

By Zaidan

Leave a Reply

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