Kubernetes: Architecture

Kubernetes Master

 * kube-apiserver bertugas sebagai API yang digunakan untuk berinteraksi dengan Kubernetes Cluster
 * etcd bertugas sebagai database untuk menyimpan data Kubernates Cluster
 * kube-scheduler bertugas untuk mengawasi aplikasi berjalan dan meminta Node untuk menjalankan aplikasi yang diinginkan
 * kube-controller-manager bertugas melakukan kontrol terhadap Kubernetes Cluster
 * cloud-controller-manager bertugas melakukan kontrol terhadap interaksi dengan Cloud Provider.

Kubernetes Nodes

 * kubelet berjalan di setiap Node dan bertugas memastikan bahwa aplikasi berjalan
 * kube-proxy berjalan di setiap Node dan bertugas sebagai proxy terhadap arus network yang masuk ke aplikasi dan sebagai load-balancer
 * container-manager berjalan di setiap Node dan bertugas sebagai container manager. Kubernetes mendukung Docker, Containerd, Cri-o, rktlet, dll

Alur kerja

 * 1) Developer mengupload image ke Image Registry
 * 2) Developer membuat Configuration File dan memasukkan ke Kubernetes Master. KM akan menginstruksikan kubelet untuk menjalankan docker dan mengambil image