Instal Kubernetes K3S pada Ubuntu 20.04

Kubernetes adalah platform open-source untuk automatisasi proses deployment, scaling, dan manajemen beban kerja aplikasi/layanan yang berada di dalam sebuah kontainer. Kata Kubernetes berasal dari Yunani yang artinya pilot atau juru kemudi, jadi bisa kita pikirkan bahwa Kubernetes adalah seorang pilot yang bertugas mengatur dan mengendarai sebuah kapal yang berisi banyak kontainer. Istilah Kubernetes sering ditulis lebih singkat menjadi “Kubernetes” dimana angka 8 merupakan jumlah karakter diantara k dan s. Jadi jangan bingung jika di artikel lain terdapat kata Kubernetes yang tidak lain adalah singkatan dari Kubernetes.

Pada kesempatan kali ini kita tidak akan membicarakan kubernetes yang biasa digunakan(kubeadm), Kita disini akan membahas K3S. Loh, kok K3S, Bukanya K8S ya?. Benar K3S hampir sama saja dengan K8S atau Kubernetes pada umumnya tetapi dalam K3S hanya memuat beberapa fitur inti saja. Jadi K3S merupakan versi minimal nya dari K8S. Jika K8S memerlukan sistem yang cukup besar untuk menjalankanya, maka beda lagi dengan K3S untuk menjalankan sistemnya cukup dengan ram 1 GB, Hebat bukan?

Nah, Dalam dokumentasinya sendiri dan tadi sudah si sebutkan juga, K3S hanya memuat beberapa fitur atau service dari K8S, berikut daftar servicenya

  • Containerd & runc
  • Flannel for CNI
  • CoreDNS
  • Metrics Server
  • Traefik for ingress
  • Klipper-lb as an embedded service load balancer provider
  • Kube-router for network policy
  • Helm-controller to allow for CRD-driven deployment of helm manifests
  • Kine as a datastore shim that allows etcd to be replaced with other databases
  • Local-path-provisioner for provisioning volumes using local storage
  • Host utilities such as iptables/nftables, ebtables, ethtool, & socat

Daftar di atas merupakan service yang di support oleh K3S.

Karena, ringan dan aman K3S juga siap untuk di implementasikan sebagai produksi. Selain itu K3S dikemas sebagai biner tunggal dan juga menambahkan dukungan untuk sqlite3 sebagai backend penyimpanan default. Etcd3, MySQL, dan Postgres juga didukung.

Nah, Sekarang waktunya kita mulai proses penginstalanya, sebelumnya kita harus menyiapkan 2 buah komputer atau virtual machine dengan spesifikasi memori sebesar 2 giga dan sudah terinstall sistem operasi Ubuntu 20.04. Dalam Kasus ini saya menggunakan subnet 192.168.122.0/24. Sedangkan untuk alokasi nya IP 192.168.122.100 sebagai master dan IP 192.168.122.101 sebagai worker.

Jika sudah di siapkan maka langkah selanjutnya yaitu, seperti biasa dalam sistem operasi linux yaitu update dan upgrade. Lakukan perintah di bawah pada setiap node.

sudo apt update && sudo apt upgrade -y

Setelah itu, kita harus menginstall docker terlebih dahulu pada setiap node nya. Untuk cara penginstallanya bisa klik disini dan pastikan servicenya berjalan ya

Setelah itu, tambahkan user biasa ke group docker. Langkah ini digunakan agar kita bisa melakukan perintah docker dengan user biasa. Ikuti perintah dibawah

sudo usermod -aG docker ubuntu sudo
chown ubuntu:docker /var/run/docker.sock

Lalu, langkah selanjutnya kita beralih pada master node. Kita mencoba mentranslate IP menjadi hostname dengan mengedit file /etc/hosts. Hasil editnya bisa di lihat di bawah

Selanjutnya kita melakukan pengetesan ping hostname nya, jika sudah berhasil maka hasilnya akan seperti di bawah

Setelah semuanya selesai maka kita beralih pada master node. Selanjutnya kita akan menginstall K3S pada master node, Untuk itu ikuti perintah di bawah

curl -sfL https://get.k3s.io | sh -s - --docker

Jika sudah selesai kita harus memastikan master node nya berjalan dengan mengikuti perintah di bawah

sudo kubectl get nodes -o wide

Setelah itu kita harus mengambil token dari master node sebagai authorization bagi worker node agar bisa terhubung ke master node. Maka dari itu ikuti perintah di bawah

sudo cat /var/lib/rancher/k3s/server/node-token

Lalu copy hasilnya, dalam kasus ini token yg saya miliki adalah seperti di bawah

K10ace519ea4d63fadb35afdb9cf82aaf81ba38aec07c9c787586b2f14ea047f201::server:bf11c81b8d6ddc6fd5183d5ad06d66f8

Nah, jika hasil statusnya ready maka berarti instalasi sudah selesai. Langkah selanjutnya kita menghubungkan worker node ke master node. Maka dari itu ikuti perintah di bawah dan jangan lupa perintah ini di lakukan di worker node yaa

curl -sfL http://get.k3s.io | K3S_URL=https://[IP K3S MASTER]:6443 K3S_TOKEN=[TOKEN] sh -s – –docker

Ubah [IP K3S MASTER] dengan IP dari master node dan ubah [TOKEN] dengan node token yang tadi kita dapatkan

Jadi, perintah nya akan serperti di bawah

curl -sfL http://get.k3s.io | K3S_URL=https://192.168.122.100:6443 K3S_TOKEN=K10ace519ea4d63fadb35afdb9cf82aaf81ba38aec07c9c787586b2f14ea047f201::server:bf11c81b8d6ddc6fd5183d5ad06d66f8 sh -s - --docker

Untuk IP dan Token-nya bisa menyesuaikan dengan punya sendiri yaa

Jika sudah selesai maka langkah selanjutnya adalah kembali lagi ke master node untuk mengecek apakah workernya sudah terhubung. Untuk melakukanya bisa mengikuti perintah di bawah

sudo kubectl get nodes

Jika sudah muncul seperti di atas itu berarti penginstalan K3S telah sukses. Demikian artikel yang dapat saya sampaikan mohon maaf bila banyak kesalahan, Sekian dan Terima Kasih!

Related Articles

Responses

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