Memasang Kops dan Membuat Kubernetes Cluster (Bagian 4)

Sudah sampe bagian 4 aja ini. Silahkan membaca bagian satu, dua, tiga dulu.

Di bagian ini saya akan menuliskan urutan pemasangan tools, pembuatan cluster k8s, dan pemasangan dashboard k8s. Di bagian ini belum akan membahas bagaimana menjalankan aplikasi di Kubernetes.

Tahap-tahap instalasi dibawah ini saya ambil dari dokumentasi kops di github:

0. https://github.com/kubernetes/kops/blob/master/docs/aws.md

Pengaturan Environment

Domain=kube.example.com
bucket_name=kube-state-store
KOPS_CLUSTER_NAME=kube.example.com
KOPS_STATE_STORE=s3://${bucket_name}

Menyiapkan Lingkungan Kerja

Perintah dibawah ini dilakukan di lapto/PC yang digunakan untuk memanajemen cluster k8s. Dalam kasus saya adalah Thinkpad x230 dengan OS openSUSE Leap 15.1.

  1. Lakukan installasi AWS CLI. Bisa mengambil dari dokumentasi aws dan lakukan konfigurasi dasar.
  2. Buat IAM khusus kops, bisa mengacu ke panduan diatas
  3. Install kops dan kubectl
    curl -LO https://github.com/kubernetes/kops/releases/download/1.10.0/kops-linux-amd64
    chmod +x kops-linux-amd64
    sudo mv kops-linux-amd64 /usr/local/bin/kops
    
    wget -O kubectl https://storage.googleapis.com/kubernetes-release/release/v1.11.3/bin/linux/amd64/kubectl
    chmod +x ./kubectl
    sudo mv ./kubectl /usr/local/bin/kubectl
    
  4. Atur router 53.
    ID=$(uuidgen) && aws route53 create-hosted-zone --name kube.example.com --caller-reference $ID | jq .DelegationSet.NameServers
    
  5. Lakukan update dns ke CloudFlare dari hasil output sebelumnya (dalam kasus saya).
  6. Atur env
    export bucket_name=kube-state-store
    export KOPS_CLUSTER_NAME=kube.example.com
    export KOPS_STATE_STORE=s3://${bucket_name}
    
  7. Silahkan buat bucket di s3 dengan nama kube-state-store, gunakan webconsole AWS saja.

Membuat Cluster K8s

Setelah kops dan kubectl terpasang, mari mencoba membuat cluster. Silahkan sesuaikan opsi kebutuhannya.

kops create cluster \
--node-count=2 \
--node-size=t2.medium \
--zones=ap-southeast-1a \
--name=${KOPS_CLUSTER_NAME} \
--ssh-public-key=~/.ssh/id_rsa.pub

Saya mengatur opsi –ssh-public-key agar saya sudah bisa langsung ssh ke mesin master tanpa harus mengatur kunci kembali.

Pengaturan cluster:

  • Size master: m4.large
  • Size node: t2.large
  • Master: Min 1, Max 1
  • Nodes: Min 2, Max 3

Implementasi Cluster

kops get cluster
kops edit cluster --name ${KOPS_CLUSTER_NAME}
kops edit ig --name=${KOPS_CLUSTER_NAME} nodes
kops edit ig --name=${KOPS_CLUSTER_NAME} master-ap-southeast-1a
kops update cluster --name ${KOPS_CLUSTER_NAME} --yes

Proses diatas membutuhkan waktu 5-10 menit.

Setelah proses selesai, lakukan validasi

kops validate cluster

Pengerjaan Kops selesai. dilanjutkan dengan konfigurasi Kubernetes.

Memasang Dashboard

K8s dashboard dibutuhkan untuk memantau kondisi cluster. Ya minimal biar g kelip-kelip terminal mulu. Butuh ada yg bisa diliat-liat. Mari kita pasang. Perintah ini dijalankan di laptop yang sudah terpasang kubectl.

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

Perintah diatas bermaksud membuat sebuah deployment (pods,service) berdasarkan file yml. File yml diambil dari internet. Namun kubectl juga bisa dijalankan dengan file konfigurasi lokal.

Membuat Token AUTH(RBAC)

Sebelum dashboard bisa digunakan, buat dulu token untuk login.

kops get secrets kube --type secret -oplaintext
kops get secrets admin --type secret -oplaintext

Simpan token hasil keluaran secrets admin. Token ini akan digunakan untuk login ke dashboard.

Mengakses Dashboard

Jalankan perintah

kubectl proxy

Kemudian buka peramban dengan mengakses halaman localhost:8001. Pilih token dan tempel token pada form login.

Horee, dashboard sudah bisa diakses. Semoga g error. Dah itu dulu, bagian selanjutnya adalah bagaimana menjalankan aplikasi dalam k8s.

Estu~

Iklan

Satu tanggapan untuk “Memasang Kops dan Membuat Kubernetes Cluster (Bagian 4)

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

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