Sunday 26 July 2020

Apa dalam Kubernetes?


Punyalah senang nak pakai Kubernetes ni, pengguna, pembangun dan tukang jaga hanya perlu berhubung dengan API Kubernetes sahaja untuk deploy dan undeploy aplikasi di dalam Kubernetes. Buat manifest file a.k.a yml file dan hantar ker API Kubernetes. Nanti Kubernetes pandai-pandai nak deploy aplikasi tu kat Worker Nodes yang available. Kalau Woker Nodes tu down, nanti Kubernetes tu pandai-pandai pindahkan aplikasi tu ke Worker node yang lain. Tak perlu risau pasal Komputer, Sistem Operasi dan bagai.

Itu bagi orang yang biasa-biasa. Tapi untuk orang yang luar biasa yang nak CKA kena tau dalaman Kubernetes tu pasal dalam peperiksaan CKA akan tanya semua tu.

Diagram Kubernetes dari Kubernetes.io


Kita telah maklum bahawa Kubernetes terbahagi kepada 2 bahagian utama iaitu Kubernetes Control Plane atau pun Master Node dan Kubernetes Nodes atau pun Worker Node. Kali ini kita akan mengenali isi-isi dalaman  pada Master Node dan Worker Node

Kubernetes Control Plane ( Master Node)

1. kube-api server
    Ini merupakan pintu utama untuk berkomunikasi dengan kluster Kubernetes. Ia menawarkan API Kubernetes kepada pengguna-pengguna luar dan servis-servis dalaman. Pengguna hanya perlu berkomunikasi dengan API Kubernetes untuk deploy dan undeploy aplikasi di Kubernetes.

2. etcd
    Ini merupakan internal key value store database yang menyimpan data-data kluster Kubernetes

3. kube-scheduler
    Applikasi di Kubernetes akan diletakan didalam satu tempat yang bertindak seperti sebuah server yang dikenali sebagai pod. Aplikasi dalam format container akan dilarikan didalam pod ini. Tugas kube-scheduler ialah untuk meletakan pod pada worker node yang sesuai dengan spesifikasi pod tersebut.

4. kube-control-manager
   Ini untuk mengawal process di Kubernetes termasuk
   i. node controller: menjaga nodes dan respond apabila ada node yang mati
   ii. replication controller: menjaga bilangan pod berdasarkan setting replication
   iii. endpoint controller: menjaga endpoint service dan pod
   iv. service account and token controller: create default accounts and access token

5. cloud-controller-manager
    Ini menjaga logik unuk berhubung dengan API cloud luar.


Kubernetes Nodes ( Worker Node)
1. kublet
    Merupakan agent yang ada pada setiap node. Ia memastikan container berlari dalam pod seperti spec yang ditetapkan.

2. kube-proxy
    Merupakan proxy network yang ada pada setiap node. Ia menjaga network untuk pod

3. container-runtime
    Merupakan service bagi container engine. Selalunya ini ialah service Docker

semoga bermanfaat

No comments:

Post a Comment

Tatacara klon pelayan di AWS lightsail

  Kadang-kala kita diminta untuk buat satu sistem baru untuk tujuan ujikaji atau percubaan fungsi baru. Jika di AWS lightsail kita boleh bua...