Tutorial Install Kubernetes pada Ubuntu 20.04

Kubernetes merupakan tool orkestrasi kontainer yang berfungsi untuk melakukan deployment, scale up dan mengelola aplikasi berbasis kontainer. Pada artikel ini akan dibahas mengenai tutorial atau cara installasi kubernetes menggunakan OS Ubuntu 20.04.

Untuk menjalankan kubernetes minimal mempunyai 2 server yaitu sebagai master node dan worker node. Sebuah node dapat berupa VM atau server fisik tergantung dari kluster nya. Setiap node berisi beberapa object seperti pod, service, volume, namespace dan lainnya yang diatur oleh komponen-komponen yang dimiliki oleh master. Simak tutorialnya ya!

Prasyarat :

Sebelum melakukan instalasi kubernetes, ada beberapa syarat yang harus dipenuhi diantaranya yaitu :

  1. Minimal RAM 2 GB
  2. 2 CPUs atau lebih
  3. Koneksi internet stabil
  4. Menggunakan hostname server unik/FQDN
  5. Swap dinonaktifkan

Setting up Kubernetes Prerequisites

Sebelum menginstall kubernetes di ubuntu, terdapat beberapa persyaratan yang harus disiapkan terlebih dahulu untuk memastikan proses instalasi berjalan dengan lancar.

  1. Jalankan perintah sudo apt-update untuk memastikan ubuntu memiliki semua paket terbaru yang tersedia untuk instalasi.
    Server Master

    Server Worker

  2. Jalankan perintah sudo apt-get install -y docker.io untuk melakukan installasi docker pada kedua node server.
    Server Master

    Server Worker
  3. Lakukan cek apakah docker sudah terinstall dengan benar menggunakan perintah sudo systemctl status docker.service
    Server Master

    Server Worker
  4. Jalankan perintah berikut untuk melakukan instalasi dependensi kubernetes transport-https
    sudo apt-get install -y apt-transport-https
    Server Master

    Server Worker
  5. Jalankan curl untuk mengunduh dan menambahkan kunci keamanan GPG yang diperlukan dengan apt-key untuk mengautentikasi ke repositori paket Kubernetes nanti. Jika berhasil, anda akan mendapatkan respons OK di terminal Anda
    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    Server Master

    Server Worker
  6. Sekarang, jalankan perintah apt-add-repository untuk menambahkan repositori paket Kubernetes di Ubuntu. Anda harus melakukan langkah ini karena secara default, repositori Kubernetes tidak ada di file /etc/apt/sources.list.
    sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
    Server Master

    Server Worker

Installing Kubernetes

Pada tahap ini, kita sudah menginstal apa saja package yang harus diinstall di awal pada server master maupun worker. Selanjutnya, kubernetes terdiri dari tiga package yaitu kubeadm, kubelet dan kubectl. Seluruh package tersebut berisi konfigurasi yang digunakan untuk menjalankan kluster kubernetes.

  1. Untuk menginisialisasi kubernetes kluster, jalankan perintah :
    kubeadm init --pod-network-cidr=10.255.0.0/16 --apiserver-advertise-address=10.0.0.200Perintah diatas untuk memberi tahu kubernetes alamat ip yang akan digunakan oleh kube-apiserver menggunakan parameter apiserver-advertise-address, dimana ip tersebut merupakan alamat ip pada server master itu sendiri. Perintah tersebut juga digunakan untuk mendefinisikan range IP yang akan digunakan oleh pod network menggunakan parameter pod-network-cidr.
    Server Master
    Jika berhasil, maka akan tertampil pesan seperti berikut. Pastikan untuk menyalin terlebih dahulu perintah yang di tandai kotak merah, perintah tersebut akan digunakan nanti pada node worker untuk menggabungkan node pada kluster.
  2. Jalankan perintah berikut pada server master. Perintah ini digunakan untuk memaksa kubernetes dalam menjalankan akun non-root untuk alasan keamanan.
  3. Selanjutnya, jalankan perintah join di server worker. Perintah ini digunakan untuk menggabungkan worker node kedalam kluster, nilai parameter -token maupun -discovery-token-ca-cert-hash digenerate oleh master node.
  4. Kemudian, dari sisi server master cek status node apakah sudah ready atau belum dengan perintah: kubectl get nodesPada keterangan diatas terlihat join cluster kubernetes sudah berhasil, namun untuk status masih belum ready. Untuk membuat status node menjadi ready, kita harus deploy Container Network Interface (CNI) yang berbasis add-ons Pod network seperti calico, kube-router, dan weave-net. Add-ons Pod network tersebut berfungsi untuk membuat Pod berhubungan satu sama lain.
  5. Jalankan perintah berikut pada server master :
    kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yamlApabila instalasi sudah selesai, silakan cek kembali status node. Nantinya akan menjadi ready.
  6. Uji coba dan Verifikasi Kubernetes Cluster Coba buat deployment dengan nama nginx-web menggunakan image kontainer nginx. Jalankan perintah berikut dari node master.
    kubectl create deployment nginx-web --image=nginx
  7. Jalankan perintah berikut untuk verifikasi status deployment.
    kubectl get deploy
    kubectl get deploy -o wide
    kubectl get pods
  8. Selanjutnya silakan coba deploy satu pod dengan nama “http-web” dan ekspos dengan nama service “http-service” menggunakan port default 80 dan tipe service NodePort.
    kubectl run http-web --image=httpd --port=80
  9. Jalankan perintah kubectl get pods untuk verifikasi status Pod sudah running atau belum.
  10. Cek IP atau hostname yang digunakan pod “http-web” lalu silakan akses menggunakan curl. Jalankan perintah ini :
    kubectl get pods http-web -o wide

Instalasi kubernetes pada Ubuntu 20.04 berjalan dengan lancar. Selanjutnya silahkan pergunakan server sesuai dengan kebutuhan kalian. Semoga artikel ini bermanfaat!

Leave a Reply

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