Belajar Kubernetes - MicroK8s Pemasangan pada MacOS

Software yang diperlukan

  1. Homebrew

Langkah-langkah

Install MicroK8s menggunakan Homebrew

$ brew install ubuntu/microk8s/microk8s

Command diatas akan memuat turun Multipass, sebuah sistem VM yang sudah siap dengan Ubuntu OS dan library-library yang diperlukan untuk MicroK8s.

Command dibawah ini akan menjalankan kerja-kerja setup MicroK8s environment.

$ microk8s install

Terakhir sekali, anda boleh check sama ada MicroK8s telah di pasang dengan betul.

$ microk8s status --wait-ready

Image description

Gambar diatas menunjukkan MicroK8s telah berjaya dipasang dan dalam status running.

Hubungi saya untuk sebarang masalah berkaitan artikel ini. Email: [email protected]

Rujukan: https://ubuntu.com/tutorials/install-microk8s-on-mac-os#4-wait-for-microk8s-to-start

Created at: 21 February 2021 Last update: 22 February 2021


Tutorial Microk8s - Bagaimana cara deploy servis Kubernetes Dashboard & Role Base Access Control (RBAC)

Konfigurasi Servis Dashboard & RBAC

Enable Dashboard

$ microk8s enable dashboard

Image description

**Gambar 1**

Enable RBAC

$ microk8s enable RBAC

Sekarang, anda perlu menukar setting kubernetes-dashboard service supaya dapat di access menggunakan NodePort

Run
$ microk8s kubectl -n kube-system edit service kubernetes-dashboard

apiVersion: v1
...
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
  resourceVersion: "343478"
  selfLink: /api/v1/namespaces/kubernetes-dashboard/services/kubernetes-dashboard
  uid: 8e48f478-993d-11e7-87e0-901b0e532516
spec:
  clusterIP: 10.100.124.90
  externalTrafficPolicy: Cluster
  ports:
  - port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  sessionAffinity: None
  type: ClusterIP <-- tukar ini kepada NodePort
status:
  loadBalancer: {}

Run command ini untuk melihat sama ada Kubernetes Dashboard runnning atau tidak. $ microk8s kubectl get svc -n kube-system
atau
$ microk8s kubectl get svc -n kubernetes-dashboard
Seterusnya, create 1 file bernama sa-dashboard.yml dan masukkan code ini

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system # atau kubernetes-dashboard


Run command ini

$ microk8s kubectl apply -f sa-dashboard.yml

Jika success , kita akan bind account admin-user ke Cluster yang ada sekarang. Create 1 file sa-dashboard-binding.yml

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

Run command ini untuk apply binding

$ microk8s kubectl apply -f sa-dashboard-binding.yml


Seterusnya, anda perlu dapatkan Token akses untuk akses Kubernetes Dashboard

$ microk8s kubectl describe sa admin-user -n kube-system #atau kubernetes-dashboard

Gambar 2

Gambar 2

Merujuk kepada Gambar 2, admin-user-token-clw9r adalah nama Secret yang dipakai oleh admin-user. Run command dibawah untuk melihat token

$ microk8s kubectl describe secrets admin-user-token-clw9r -n kube-system #atau kubernetes-dashboard

Image description

Merujuk kepada Gambar 3, ia adalah contoh Token yang anda akan dapat dan perlu digunakan untuk akses ke dashboard. Copy Token ini untuk digunakan kemudian.

Akses Kubernetes Dashboard melalui Web Browser

Untuk mengakses Kubernetes Dashboard melalui Web Browser, and perlu mendapatkan Port yang telah dibuka sebelum ini. Run command ini untuk mendapatkan maklumat Port

$ microk8s kubectl get svc -n kube-system #atau kubernetes-dashboard

Image description

Gambar 3

Merujuk Gambar 3, Port yang telah dibuka untuk diakses adalah 31382. Jadi anda boleh menggunakan Port ini untuk mengakses Kubernetes Dashboard dari Host & Public network.

Jangan lupa, gunakan Token yang anda Copy sebentar tadi untuk digunakan sebagai Access Token. Jika tiada apa-apa masalah anda akan dapat Authorization Page seperti Gambar 4 dibawah.

Image description

Gambar 4


Image description

Gambar 5

Gambar 5 menunjukkan paparan yang anda akan dapat setelah log masuk dengan menggunakan Token.

Untuk next notes, saya akan olah setiap komponen yang ada didalam Kubernetes Dashboard.

Sekian,
Terima Kasih
Fariz Izwan Kamaruzzaman

Rujukan:
https://microk8s.io/docs/addon-dashboard
https://github.com/kubernetes/dashboard/tree/master/docs/user/accessing-dashboard
https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/README.md#admin-privileges
https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md


Copyright © 2020