Mengenal Node, Pod Pada Kubernetes Berikut Cara Membuatnya

Mengenal Node, Pod Pada Kubernetes Berikut Cara Membuatnya

Apa itu Node?

Node merupakan sebuah mesin worker di dalam Kubernetes, yang sebelumnya dinamakan minion. Sebuah node bisa berupa VM ataupun mesin fisik, tergantung dari klaster-nya. 

Masing-masing node berisi beberapa servis yang berguna untuk menjalankan banyak pod dan diatur oleh komponen-komponen yang dimiliki oleh master. 

Servis-servis di dalam sebuah node terdiri dari runtime kontainer, kubelet dan kube-proxy. 

node kubernetes

Melihat Node

kubectl get node

Melihat Detail Node

kubectl describe node nama-node

Apa itu Pod?

Sebuah Pod (seperti pod pada paus atau kacang polong) adalah sebuah kelompok yang terdiri dari satu atau lebih kontainer (misalnya kontainer Docker), dengan ruang penyimpanan ataupun jaringan yang dipakai bersama, dan sebuah spesifikasi mengenai bagaimana menjalankan kontainer. 

Isi dari Pod akan selalu diletakkan dan dijadwalkan bersama, serta berjalan dalam konteks yang sama. Sebuah Pod memodelkan "logical host" yang spesifik terhadap aplikasi. 

Ini mengandung lebih dari satu kontainer aplikasi yang secara relatif saling terhubung erat. Sebelum masa kontainer, menjalankan aplikasi dalam mesin fisik atau virtual berarti menjalankan dalam logical host yang sama.

Walaupun Kubernetes mendukung lebih banyak runtime kontainer selain Docker, namun Docker adalah yang paling umum diketahui dan ini membantu dalam menjelaskan Pod dengan istilah pada Docker.

Konteks bersama dalam sebuah Pod adalah kumpulan Linux namespace, cgroup dan kemungkinan segi isolasi lain, hal yang sama yang mengisolasi kontainer Docker. Dalam sebuah konteks pada Pod, setiap aplikasi bisa menerapkan sub-isolasi lebih lanjut.

pod kubernetes

Membuat Pod

Saat kita ingin membuat pod  pada kubernetes, semua konfigurasi di simpan di konfigurasi file .yaml , kecuali kita ingin melihat informasi bisa langsung menjalankan di terminal tanpa harus membuat file yaml.

Template Pod

apiVersion: v1
kind: Pod
metadata:
  name: pod-name
spec:
  containers:
    - name: container-name
      image: image-name
      ports:
        - containerPort: 80

Contoh Membuat Pod yang Menjalankan Container Nginx

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
    - name: nginx
      image: nginx
      ports:
        - containerPort: 80

Membuat Pod

kubectl create -f nginx.yaml

membuat pod kubernetes

Melihat Semua Pod

kubectl get pods
kubectl get pods -o wide

melihat pod berjalan di kubernetes

Melihat Informasi Detail Pod

kubectl descirbe pods nginx

melihat detail pod nginx kubernetes

Mengakses Service Pod (Hanya untuk Test Service)

kubectl port-forward nginx 8888:80

port forward pod

akses service pod di browser

Next Post Previous Post
No Comment
Add Comment
comment url