Bagian konsep ini membantu kamu belajar tentang bagian-bagian sistem serta abstraksi yang digunakan Kubernetes untuk merepresentasikan klaster kamu, serta membantu kamu belajar lebih dalam bagaimana cara kerja Kubernetes.

Ikhtisar

Untuk menggunakan Kubernetes, kamu menggunakan objek-objek Kubernetes API untuk merepresentasikan state yang diinginkan: apa yang aplikasi atau workload lain yang ingin kamu jalankan, image kontainer yang digunakan, jaringan atau resource disk apa yang ingin kamu sediakan, dan lain sebagainya. Kamu membuat state yang diinginkan dengan cara membuat objek dengan menggunakan API Kubernetes, dan biasanya menggunakan command-line interface, yaitu kubectl. Kamu juga dapat secara langsung berinteraksi dengan klaster untuk membuat atau mengubah state yang kamu inginkan.

Setelah kamu membuat state yang kamu inginkan, Control Plane Kubernetes menggunakan Pod Lifecycle Event Generator (PLEG) untuk mengubah state yang ada saat ini supaya sama dengan state yang diinginkan. Untuk melakukan hal tersebut, Kubernetes melakukan berbagai task secara otomatis, misalnya dengan mekanisme start atau stop kontainer, melakukan scale replika dari suatu aplikasi, dan lain sebagainya. Control Plane Kubernetes terdiri dari sekumpulan process yang dijalankan di klaster:

  • Kubernetes Master terdiri dari tiga buah process yang dijalankan pada sebuah node di klaster kamu, node ini disebut sebagai master, yang terdiri kube-apiserver, kube-controller-manager dan kube-scheduler.
  • Setiap node non-master pada klaster kamu menjalankan dua buah process:
    • kubelet, yang menjadi perantara komunikasi dengan master.
    • kube-proxy, sebuah proxy yang merupakan representasi jaringan yang ada pada setiap node.

Objek Kubernetes

Kubernetes memiliki beberapa abstraksi yang merepresentasikan state dari sistem kamu: apa yang aplikasi atau workload lain yang ingin kamu jalankan, jaringan atau resource disk apa yang ingin kamu sediakan, serta beberapa informasi lain terkait apa yang sedang klaster kamu lakukan. Abstraksi ini direpresentasikan oleh objek yang tersedia di API Kubernetes; lihat ikhtisar objek-objek Kubernetes untuk penjelasan yang lebih mendetail.

Objek mendasar Kubernetes termasuk:

Sebagai tambahan, Kubernetes memiliki beberapa abstraksi yang lebih tinggi yang disebut kontroler. Kontroler merupakan objek mendasar dengan fungsi tambahan, contoh dari kontroler ini adalah:

Control Plane Kubernetes

Berbagai bagian Control Plane Kubernetes, seperti master dan process-process kubelet, mengatur bagaimana Kubernetes berkomunikasi dengan klaster kamu. Control Plane menjaga seluruh record dari objek Kubernetes serta terus menjalankan iterasi untuk melakukan manajemen state objek. Control Plane akan memberikan respon apabila terdapat perubahan pada klaster kamu dan mengubah state saat ini agar sesuai dengan state yang diinginkan.

Contohnya, ketika kamu menggunakan API Kubernetes untuk membuat sebuah Deployment, kamu memberikan sebuah state baru yang harus dipenuhi oleh sistem. Control Plane kemudian akan mencatat objek apa saja yang dibuat, serta menjalankan instruksi yang kamu berikan dengan cara melakukan start aplikasi dan melakukan scheduling aplikasi tersebut pada node, dengan kata lain mengubah state saat ini agar sesuai dengan state yang diinginkan.

Master

Master Kubernetes bertanggung jawab untuk memelihara state yang diinginkan pada klaster kamu. Ketika kamu berinteraksi dengan Kubernetes, misalnya saja menggunakan perangkat kubectl, kamu berkomunikasi dengan master klaster Kubernetes kamu.

"master" merujuk pada tiga buah process yang dijalankan pada sebuah node pada klaster kamu, node ini disebut sebagai master, yang terdiri kube-apiserver, kube-controller-manager dan kube-scheduler.

Node

Node di dalam klaster Kubernetes adalah mesin (mesin virtual maupun fisik) yang menjalankan aplikasi kamu. Master mengontrol setiap node; kamu akan jarang berinteraksi dengan node secara langsung.

Metadata objek

Selanjutnya

Jika kamu ingin menulis halaman konsep, perhatikan cara penggunaan template pada laman untuk informasi mengenai konsep tipe halaman dan template konsep.

Last modified June 20, 2024 at 12:44 PM PST: Sync changest from andygol/k8s-website (36d05bc8a1)