Cara Install Kubernetes Cluster Pada Server Private Cloud

Mungkin ayies.com sering bahas yah soal setup/Cara Install Kubernetes Cluster. Tapi cara sebelumnya lebih cocok di VM/Onpremise atau Dedicated server. Nah gimana caranya di Server Private Cloud seperti Alibaba/GCP/AWS ec2, atau provider cloud lokal pilihanmu? Berikut caranya. Oiyah cara ini menggunakan repository YML latest. So insya Allah masih valid di 2020-202x kedepan :D.

Berikut spesifikasi yang dibutuhkan

    Pada praktek ayies kali ini bikin instance nya di Alibaba Cloud.

    Siapkan minimal 2 Cloud. 1 Cloud akan kamu jadikan Master. Dan yang satu lagi sebagai Worker (aku sedih skrg namanya bukan Minion :'( padahal lucu banged kan kalo minion gak serius2 banged)

    Oke skip…

    Master dan Worker

    Lakukan hal berikut di VM Master dan VM Worker kamu.

    sudo apt-get install apt-transport-https -y
    sudo apt install docker.io -y
    sudo systemctl enable docker
    sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    sudo nano /etc/apt/sources.list.d/kubernetes.list

    Dan masukan baris text berikut

    deb http://apt.kubernetes.io/ kubernetes-xenial main

    Simpan. Jalankan perintah ini untuk update repo:

    sudo apt-get update
    sudo apt-get install -y kubelet kubeadm kubectl kubernetes-cni
    sudo reboot

    Selesai install kedua server-nya. Tunggu kedua server UP. Login kembali ke kedua Cloud tersebut. Dan lakukan hal berikut.

    Master 

    sudo kubeadm init --pod-network-cidr 10.244.0.0/16

    Kamu akan menerima hasil output berupa token untuk join cluster. Simpan di tempat yang aman, dan jangan hilang yah :).

    Jalankan langkah selanjutnya:

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config

    Jalankan perintah ini hanya di Master

    Meski katanya CNI Calico lebih baik dari Flannel soal performance… Tapi ayies masih cinta CNI sejuta umat nan simple yaitu Flannel, recomended pokoknya untuk urusan network di Kubernetes.

    sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

    Cek apakah sudah hidup semua (running)

    sudo kubectl get pods --all-namespaces

    Oke sudah cukup setup Master-nya saat ini kita lanjut ke Worker.

    Worker

    Di Worker kamu cukup Join ajah sih agar cloud ini resmi jadi babu…eh worker maksudnya ke Cloud Master. Lakukan hal berikut ya  :

    Paste perintah join dari Token yang kamu dapatkan dilangkah sebelumnya pada master:

    Contoh:

    kubeadm join 172.xxx.xxx.xxx:6443 –token websiTe-ayies.com-K3ceBeudLah \
    –discovery-token-ca-cert-hash sha256:klik-donk-iklan-nya-hehehehehe-lumayanBu4tBeliCENDOL

    Kalau sudah berhasil join cek pada Console Master cloud dan jalankan perintah ini:

    sudo kubectl get nodes

    Oke langkah terakhir adalah deploy dashboard kubernetes. Lakukan cara ini di Master saja.

    Master 

    sudo kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
    sudo kubectl get pods --all-namespaces
    sudo kubectl -n kubernetes-dashboard get service kubernetes-dashboard

    Saatnya lanjut bikin credential untuk login ke dashboard Kubernetes. Berikut caranya

    Membuat akses Login Kubernetes Dashboard

    Masih di terminal server Master ketik perintah berikut:

    sudo kubectl create serviceaccount cluster-admin-dashboard-sa
    sudo kubectl create clusterrolebinding cluster-admin-dashboard-sa \
    --clusterrole=cluster-admin \
    --serviceaccount=default:cluster-admin-dashboard-sa
    
    sudo kubectl get secret | grep cluster-admin-dashboard-sa
    sudo kubectl describe secret cluster-admin-dashboard-sa-token-x6gh7

    ^ Saat melakukan kubectl describe pastikan akhiran token-xxxxxx disamakan dengan output nama token pada saat melakukan kubectl get secret.

    Untuk kenal lebih jauh soal Dashboard Kubernetes mampir ajah ke Dokumentasi Resmi mereka di: https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

    Oke lanjut saat nya kita akses Dashboard Kubernetes. Bagaimana caranya? Ada beberapa metode yang bisa kamu pakai.

    1. Via VPN. Kamu setup jump host atau VPN di Server Master sehingga kamu dapat tunneling ke dashboard via VPN tsb.
    2. Tunneling via SSH forwarding.
    3. Ubah dari cluster IP menjadi NodePort. Detailnya ada disini.

    Akses dashboard melalui URL: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

    Masukan token login dashboard.

    Oiyah please jangan copy paste Website saya ke Website lain tanpa ijin atau mencantumkan link atau narasumber saya 🙂 . Membajak itu tidak baik yah guys!

    Sekian. Makasih Yah udah berkunjung ke website ayies.com


    0 Comments

    Leave a Reply

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