Memisahkan Pod Berdasarkan Namespace

Memisahkan Pod Berdasarkan Namespace

Kubernetes mendukung banyak cluster virtual di dalam satu cluster fisik. cluster virtual tersebut disebut dengan namespace.

Namespace dibuat untuk digunakan di environment dengan banyak pengguna yang berada di dalam banyak tim ataupun proyek. Untuk sebuah klaster dengan beberapa pengguna saja, kamu tidak harus membuat ataupun memikirkan tentang namespace. Mulai gunakan namespace saat kamu membutuhkan fitur dari namespace itu sendiri.

Namespace menyediakan ruang untuk nama objek. Nama dari resource atau objek harus berbeda di dalam sebuah namespace, tetapi boleh sama jika berbeda namespace. Namespace tidak bisa dibuat di dalam namespace lain dan setiap resource atau objek Kubernetes hanya dapat berada di dalam satu namespace.

Namespace merupakan cara yang digunakan untuk memisahkan resource cluster untuk beberapa pengguna (dengan resource quota).

Dalam versi Kubernetes yang akan datang, objek di dalam satu namespace akan mempunyai access control policies yang sama secara default.

Tidak perlu menggunakan banyak namespace hanya untuk memisahkan sedikit perbedaan pada resource, seperti perbedaan versi dari perangkat lunak yang sama: gunakan label untuk membedakan resource di dalam namespace yang sama.

Kapan Menggunakan Namespace?

Ketika resources di Kubernetes sudah terlalu banyak

Ketika butuh memisahkan resources untuk multi-tenant, team atau environment

Nama resources bisa sama jika berapa di namespace yang berbeda

Melihat Daftar Namespace Pada Kubernetes

kubectl get namespaces

kubectl get namespace

kubectl get ns

melihat namespace

melihat namespace pada pod

Saat kita membuat pod, secara default pod akan menggunakan namespace default.

Melihat Pod di Namespace

kubectl get pod --namespace namanamespace

kubectl get pod -n namanamespace

melihat pod di namespace

Template Namespace

apiVersion: v1
kind: Namespace
metadata:
  name: nama-namespace

Contoh Membuat Namespace

apiVersion: v1
kind: Namespace
metadata:
  name: finance

Membuat Namespace Finance

kubectl create -f namafile.yaml

membuat namespace finance

Membuat Pod di Namespace Finance

kubectl create -f namafile.yaml --namespace namanamespace

membuat pod dengan nama sama tapi namespace berbeda

Walaupun kita mempunyai dua pod dengan nama yang sama contoh disini nginx, akan tetap bisa asalkan nama namespace berbeda. 

Menghapus Namespace

kubectl delete namespace nama-namespace

menghapus namespace

Saat kita mengahapus namespace, secara otomatis pod akan terhapus semua, pastikan berhati-hati

Yang Perlu Diketahui Tentang Namespace

Pod dengan nama yang sama boleh berjalan asalkan di Namespace yang berbeda

Namespace bukanlah cara untuk mengisolasi resource

Walaupun berbeda namespace, pod akan tetap bisa saling berkomunikasi dengan pod lain di namespace yang berbeda

Next Post Previous Post
No Comment
Add Comment
comment url